Search in sources :

Example 6 with TabCreator

use of org.olat.core.gui.components.tabbedpane.TabCreator in project openolat by klemens.

the class BusinessGroupEditController method setAllTabs.

/**
 * Learning areas and and course rights should only appear when at least one course is associated.</br>
 * <ul><li>
 * a) No courses associated and user is not author</br>
 * Description, Tools, Members, Publishing and booking
 * </li><li>
 * b) No course associated and user is author:</br>
 * Description, Tools, Members, Courses, Publishing and booking
 * </li><li>
 * c) With courses associated:</br>
 * Description, Tools, Members, Courses, Learning areas, Course rights, Publishing and booking
 *
 * @param ureq
 */
private void setAllTabs(UserRequest ureq) {
    hasResources = businessGroupService.hasResources(currBusinessGroup);
    tabAccessCtrl = getAccessController(ureq);
    int currentSelectedPane = tabbedPane.getSelectedPane();
    tabbedPane.removeAll();
    editDetailsController.setAllowWaitingList(tabAccessCtrl == null || !tabAccessCtrl.isPaymentMethodInUse());
    tabbedPane.addTab(translate("group.edit.tab.details"), editDetailsController.getInitialComponent());
    tabbedPane.addTab(translate("group.edit.tab.collabtools"), new TabCreator() {

        @Override
        public Component create(UserRequest uureq) {
            collaborationToolsController = new BusinessGroupToolsController(uureq, getWindowControl(), currBusinessGroup);
            listenTo(collaborationToolsController);
            return collaborationToolsController.getInitialComponent();
        }
    });
    membersTab = tabbedPane.addTab(translate("group.edit.tab.members"), new TabCreator() {

        @Override
        public Component create(UserRequest uureq) {
            if (membersController == null) {
                membersController = new BusinessGroupMembersController(uureq, getWindowControl(), toolbarPanel, currBusinessGroup);
                listenTo(membersController);
            } else {
                membersController.updateBusinessGroup(currBusinessGroup);
            }
            return membersController.getInitialComponent();
        }
    });
    // resources (optional)
    Roles roles = ureq.getUserSession().getRoles();
    boolean resourceEnabled = roles.isOLATAdmin() || roles.isGroupManager() || roles.isAuthor() || hasResources;
    if (resourceEnabled) {
        tabbedPane.addTab(translate("group.edit.tab.resources"), new TabCreator() {

            @Override
            public Component create(UserRequest uureq) {
                if (resourceController == null) {
                    resourceController = new BusinessGroupEditResourceController(uureq, getWindowControl(), currBusinessGroup);
                    listenTo(resourceController);
                }
                return resourceController.getInitialComponent();
            }
        });
    } else {
        removeAsListenerAndDispose(resourceController);
        resourceController = null;
    }
    if (tabAccessCtrl != null) {
        tabbedPane.addTab(translate("group.edit.tab.accesscontrol"), new TabCreator() {

            @Override
            public Component create(UserRequest uureq) {
                return tabAccessCtrl.getInitialComponent();
            }
        });
    }
    if (currentSelectedPane > 0) {
        tabbedPane.setSelectedPane(ureq, currentSelectedPane);
    }
}
Also used : TabCreator(org.olat.core.gui.components.tabbedpane.TabCreator) Roles(org.olat.core.id.Roles) Component(org.olat.core.gui.components.Component) UserRequest(org.olat.core.gui.UserRequest)

Aggregations

UserRequest (org.olat.core.gui.UserRequest)6 Component (org.olat.core.gui.components.Component)6 TabCreator (org.olat.core.gui.components.tabbedpane.TabCreator)6 CourseOverviewController (org.olat.admin.user.course.CourseOverviewController)2 GroupOverviewController (org.olat.admin.user.groups.GroupOverviewController)2 NotificationSubscriptionController (org.olat.core.commons.services.notifications.ui.NotificationSubscriptionController)2 BreadcrumbedStackedPanel (org.olat.core.gui.components.stack.BreadcrumbedStackedPanel)2 TabbedPane (org.olat.core.gui.components.tabbedpane.TabbedPane)2 Controller (org.olat.core.gui.control.Controller)2 BasicController (org.olat.core.gui.control.controller.BasicController)2 Roles (org.olat.core.id.Roles)2 CertificateAndEfficiencyStatementListController (org.olat.course.certificate.ui.CertificateAndEfficiencyStatementListController)2 ParticipantLecturesOverviewController (org.olat.modules.lecture.ui.ParticipantLecturesOverviewController)2 IdentityCompetencesController (org.olat.modules.taxonomy.ui.IdentityCompetencesController)2 UserOrderController (org.olat.resource.accesscontrol.ui.UserOrderController)2 ChangePrefsController (org.olat.user.ChangePrefsController)2 DisplayPortraitController (org.olat.user.DisplayPortraitController)2 ProfileAndHomePageEditController (org.olat.user.ProfileAndHomePageEditController)2 UserPropertiesController (org.olat.user.UserPropertiesController)2