Search in sources :

Example 1 with BreadcrumbedStackedPanel

use of org.olat.core.gui.components.stack.BreadcrumbedStackedPanel in project OpenOLAT by OpenOLAT.

the class UserAdminController method initTabbedPane.

/**
 * Initialize the tabbed pane according to the users rights and the system
 * configuration
 * @param identity
 * @param ureq
 */
private void initTabbedPane(Identity identity, UserRequest ureq) {
    // first Initialize the user details tabbed pane
    userTabP = new TabbedPane("userTabP", ureq.getLocale());
    userTabP.addListener(this);
    /**
     *  Determine, whether the user admin is or is not able to edit all fields in user
     *  profile form. The system admin is always able to do so.
     */
    Boolean canEditAllFields = BaseSecurityModule.USERMANAGER_CAN_EDIT_ALL_PROFILE_FIELDS;
    if (securityManager.isIdentityPermittedOnResourceable(identity, Constants.PERMISSION_HASROLE, Constants.ORESOURCE_ADMIN)) {
        canEditAllFields = Boolean.TRUE;
    }
    userProfileCtr = new ProfileAndHomePageEditController(ureq, getWindowControl(), identity, canEditAllFields.booleanValue());
    listenTo(userProfileCtr);
    userTabP.addTab(translate(NLS_EDIT_UPROFILE), userProfileCtr.getInitialComponent());
    userTabP.addTab(translate(NLS_EDIT_UPREFS), new TabCreator() {

        @Override
        public Component create(UserRequest uureq) {
            prefsCtr = new ChangePrefsController(uureq, getWindowControl(), identity);
            listenTo(prefsCtr);
            return prefsCtr.getInitialComponent();
        }
    });
    if (isPasswordChangesAllowed(identity)) {
        userTabP.addTab(translate(NLS_EDIT_UPWD), new TabCreator() {

            @Override
            public Component create(UserRequest uureq) {
                pwdCtr = new UserChangePasswordController(uureq, getWindowControl(), identity);
                listenTo(pwdCtr);
                return pwdCtr.getInitialComponent();
            }
        });
    }
    Boolean canAuth = BaseSecurityModule.USERMANAGER_ACCESS_TO_AUTH;
    if (canAuth.booleanValue() || isOlatAdmin) {
        userTabP.addTab(translate(NLS_EDIT_UAUTH), new TabCreator() {

            @Override
            public Component create(UserRequest uureq) {
                authenticationsCtr = new UserAuthenticationsEditorController(uureq, getWindowControl(), identity);
                listenTo(authenticationsCtr);
                return authenticationsCtr.getInitialComponent();
            }
        });
    }
    Boolean canProp = BaseSecurityModule.USERMANAGER_ACCESS_TO_PROP;
    if (canProp.booleanValue() || isOlatAdmin) {
        userTabP.addTab(translate(NLS_EDIT_UPROP), new TabCreator() {

            @Override
            public Component create(UserRequest uureq) {
                propertiesCtr = new UserPropertiesController(uureq, getWindowControl(), identity);
                listenTo(propertiesCtr);
                return propertiesCtr.getInitialComponent();
            }
        });
    }
    Boolean canStartGroups = BaseSecurityModule.USERMANAGER_CAN_START_GROUPS;
    userTabP.addTab(translate(NLS_VIEW_GROUPS), new TabCreator() {

        @Override
        public Component create(UserRequest uureq) {
            grpCtr = new GroupOverviewController(uureq, getWindowControl(), identity, canStartGroups);
            listenTo(grpCtr);
            return grpCtr.getInitialComponent();
        }
    });
    userTabP.addTab(translate(NLS_VIEW_COURSES), new TabCreator() {

        @Override
        public Component create(UserRequest uureq) {
            courseCtr = new CourseOverviewController(uureq, getWindowControl(), identity);
            listenTo(courseCtr);
            return courseCtr.getInitialComponent();
        }
    });
    if (isOlatAdmin) {
        userTabP.addTab(translate(NLS_VIEW_ACCESS), new TabCreator() {

            @Override
            public Component create(UserRequest uureq) {
                Controller accessCtr = new UserOrderController(uureq, getWindowControl(), identity);
                listenTo(accessCtr);
                return accessCtr.getInitialComponent();
            }
        });
    }
    if (isOlatAdmin) {
        userTabP.addTab(translate(NLS_VIEW_EFF_STATEMENTS), new TabCreator() {

            @Override
            public Component create(UserRequest uureq) {
                efficicencyCtrl = new CertificateAndEfficiencyStatementListController(uureq, getWindowControl(), identity, true);
                listenTo(efficicencyCtrl);
                BreadcrumbedStackedPanel stackPanel = new BreadcrumbedStackedPanel("statements", getTranslator(), efficicencyCtrl);
                stackPanel.pushController(translate(NLS_VIEW_EFF_STATEMENTS), efficicencyCtrl);
                efficicencyCtrl.setBreadcrumbPanel(stackPanel);
                stackPanel.setInvisibleCrumb(1);
                return stackPanel;
            }
        });
    }
    Boolean canSubscriptions = BaseSecurityModule.USERMANAGER_CAN_MODIFY_SUBSCRIPTIONS;
    if (canSubscriptions.booleanValue() || isOlatAdmin) {
        userTabP.addTab(translate(NLS_VIEW_SUBSCRIPTIONS), new TabCreator() {

            @Override
            public Component create(UserRequest uureq) {
                Controller subscriptionsCtr = new NotificationSubscriptionController(uureq, getWindowControl(), identity, true);
                listenTo(subscriptionsCtr);
                return subscriptionsCtr.getInitialComponent();
            }
        });
    }
    userTabP.addTab(translate(NLS_EDIT_UROLES), new TabCreator() {

        @Override
        public Component create(UserRequest uureq) {
            rolesCtr = new SystemRolesAndRightsController(getWindowControl(), uureq, identity);
            listenTo(rolesCtr);
            return rolesCtr.getInitialComponent();
        }
    });
    Boolean canQuota = BaseSecurityModule.USERMANAGER_ACCESS_TO_QUOTA;
    if (canQuota.booleanValue() || isOlatAdmin) {
        userTabP.addTab(translate(NLS_EDIT_UQUOTA), new TabCreator() {

            @Override
            public Component create(UserRequest uureq) {
                String relPath = FolderConfig.getUserHomes() + "/" + identity.getName();
                quotaCtr = QuotaManager.getInstance().getQuotaEditorInstance(uureq, getWindowControl(), relPath);
                return quotaCtr.getInitialComponent();
            }
        });
    }
    if (lectureModule.isEnabled()) {
        userTabP.addTab(translate(NLS_VIEW_LECTURES), new TabCreator() {

            @Override
            public Component create(UserRequest uureq) {
                lecturesCtrl = new ParticipantLecturesOverviewController(uureq, getWindowControl(), identity, true, true, true, true);
                listenTo(lecturesCtrl);
                BreadcrumbedStackedPanel stackPanel = new BreadcrumbedStackedPanel("lectures", getTranslator(), lecturesCtrl);
                stackPanel.pushController(translate(NLS_VIEW_LECTURES), lecturesCtrl);
                lecturesCtrl.setBreadcrumbPanel(stackPanel);
                stackPanel.setInvisibleCrumb(1);
                return stackPanel;
            }
        });
    }
    if (taxonomyModule.isEnabled()) {
        userTabP.addTab(translate(NLS_VIEW_COMPETENCES), new TabCreator() {

            @Override
            public Component create(UserRequest uureq) {
                competencesCtrl = new IdentityCompetencesController(uureq, getWindowControl(), identity);
                listenTo(competencesCtrl);
                BreadcrumbedStackedPanel stackPanel = new BreadcrumbedStackedPanel("competences", getTranslator(), competencesCtrl);
                stackPanel.pushController(translate(NLS_VIEW_COMPETENCES), competencesCtrl);
                competencesCtrl.setBreadcrumbPanel(stackPanel);
                stackPanel.setInvisibleCrumb(1);
                return stackPanel;
            }
        });
    }
    // now push to velocity
    myContent.put("userTabP", userTabP);
}
Also used : CourseOverviewController(org.olat.admin.user.course.CourseOverviewController) UserOrderController(org.olat.resource.accesscontrol.ui.UserOrderController) UserPropertiesController(org.olat.user.UserPropertiesController) TabbedPane(org.olat.core.gui.components.tabbedpane.TabbedPane) ParticipantLecturesOverviewController(org.olat.modules.lecture.ui.ParticipantLecturesOverviewController) NotificationSubscriptionController(org.olat.core.commons.services.notifications.ui.NotificationSubscriptionController) IdentityCompetencesController(org.olat.modules.taxonomy.ui.IdentityCompetencesController) DisplayPortraitController(org.olat.user.DisplayPortraitController) CourseOverviewController(org.olat.admin.user.course.CourseOverviewController) ProfileAndHomePageEditController(org.olat.user.ProfileAndHomePageEditController) GroupOverviewController(org.olat.admin.user.groups.GroupOverviewController) UserPropertiesController(org.olat.user.UserPropertiesController) NotificationSubscriptionController(org.olat.core.commons.services.notifications.ui.NotificationSubscriptionController) ChangePrefsController(org.olat.user.ChangePrefsController) UserOrderController(org.olat.resource.accesscontrol.ui.UserOrderController) Controller(org.olat.core.gui.control.Controller) BasicController(org.olat.core.gui.control.controller.BasicController) CertificateAndEfficiencyStatementListController(org.olat.course.certificate.ui.CertificateAndEfficiencyStatementListController) ParticipantLecturesOverviewController(org.olat.modules.lecture.ui.ParticipantLecturesOverviewController) IdentityCompetencesController(org.olat.modules.taxonomy.ui.IdentityCompetencesController) ProfileAndHomePageEditController(org.olat.user.ProfileAndHomePageEditController) TabCreator(org.olat.core.gui.components.tabbedpane.TabCreator) GroupOverviewController(org.olat.admin.user.groups.GroupOverviewController) ChangePrefsController(org.olat.user.ChangePrefsController) Component(org.olat.core.gui.components.Component) BreadcrumbedStackedPanel(org.olat.core.gui.components.stack.BreadcrumbedStackedPanel) CertificateAndEfficiencyStatementListController(org.olat.course.certificate.ui.CertificateAndEfficiencyStatementListController) UserRequest(org.olat.core.gui.UserRequest)

Example 2 with BreadcrumbedStackedPanel

use of org.olat.core.gui.components.stack.BreadcrumbedStackedPanel in project OpenOLAT by OpenOLAT.

the class OverviewRepositoryListController method doOpenMark.

private RepositoryEntryListController doOpenMark(UserRequest ureq) {
    cleanUp();
    SearchMyRepositoryEntryViewParams searchParams = new SearchMyRepositoryEntryViewParams(getIdentity(), ureq.getUserSession().getRoles());
    searchParams.setMarked(Boolean.TRUE);
    OLATResourceable ores = OresHelper.createOLATResourceableInstance("Favorits", 0l);
    ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores));
    WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ores, null, getWindowControl());
    markedStackPanel = new BreadcrumbedStackedPanel("mrkstack", getTranslator(), this);
    markedCtrl = new RepositoryEntryListController(ureq, bwControl, searchParams, true, false, "marked", markedStackPanel);
    markedStackPanel.pushController(translate("search.mark"), markedCtrl);
    listenTo(markedCtrl);
    currentCtrl = markedCtrl;
    favoritDirty = false;
    addToHistory(ureq, markedCtrl);
    mainVC.put("segmentCmp", markedStackPanel);
    return markedCtrl;
}
Also used : OLATResourceable(org.olat.core.id.OLATResourceable) SearchMyRepositoryEntryViewParams(org.olat.repository.model.SearchMyRepositoryEntryViewParams) WindowControl(org.olat.core.gui.control.WindowControl) BreadcrumbedStackedPanel(org.olat.core.gui.components.stack.BreadcrumbedStackedPanel)

Example 3 with BreadcrumbedStackedPanel

use of org.olat.core.gui.components.stack.BreadcrumbedStackedPanel in project openolat by klemens.

the class GenericMainController method init.

/**
 * use after optional addChildNodeToAppend() or addChildNodeToPrepend() calls
 * to initialize MainController and set Panel
 *
 * @param ureq
 */
public void init(UserRequest ureq) {
    olatMenuTree = new MenuTree("olatMenuTree");
    TreeModel tm = buildTreeModel(ureq);
    olatMenuTree.setTreeModel(tm);
    content = new Panel("content");
    TreeNode firstNode = tm.getRootNode();
    TreeNode nodeToSelect = getLastDelegate(firstNode);
    olatMenuTree.setSelectedNodeId(nodeToSelect.getIdent());
    olatMenuTree.addListener(this);
    // default is to not display the root element and to let user open/close sub elements
    olatMenuTree.setRootVisible(false);
    olatMenuTree.setExpandSelectedNode(false);
    Object uobject = nodeToSelect.getUserObject();
    contentCtr = getContentCtr(uobject, ureq);
    // auto dispose later
    listenTo(contentCtr);
    Component resComp = contentCtr.getInitialComponent();
    content.setContent(resComp);
    columnLayoutCtr = new LayoutMain3ColsController(ureq, getWindowControl(), olatMenuTree, content, className);
    // auto dispose later
    listenTo(columnLayoutCtr);
    // create the stack
    stackVC = new BreadcrumbedStackedPanel("genericStack", getTranslator(), this);
    stackVC.pushController("content", columnLayoutCtr);
    putInitialPanel(stackVC);
}
Also used : MenuTree(org.olat.core.gui.components.tree.MenuTree) TreeModel(org.olat.core.gui.components.tree.TreeModel) GenericTreeModel(org.olat.core.gui.components.tree.GenericTreeModel) BreadcrumbPanel(org.olat.core.gui.components.stack.BreadcrumbPanel) Panel(org.olat.core.gui.components.panel.Panel) BreadcrumbedStackedPanel(org.olat.core.gui.components.stack.BreadcrumbedStackedPanel) GenericTreeNode(org.olat.core.gui.components.tree.GenericTreeNode) TreeNode(org.olat.core.gui.components.tree.TreeNode) LayoutMain3ColsController(org.olat.core.commons.fullWebApp.LayoutMain3ColsController) Component(org.olat.core.gui.components.Component) BreadcrumbedStackedPanel(org.olat.core.gui.components.stack.BreadcrumbedStackedPanel)

Example 4 with BreadcrumbedStackedPanel

use of org.olat.core.gui.components.stack.BreadcrumbedStackedPanel in project openolat by klemens.

the class OverviewRepositoryListController method doOpenClosedCourses.

private RepositoryEntryListController doOpenClosedCourses(UserRequest ureq) {
    cleanUp();
    SearchMyRepositoryEntryViewParams searchParams = new SearchMyRepositoryEntryViewParams(getIdentity(), ureq.getUserSession().getRoles());
    searchParams.setMembershipMandatory(true);
    searchParams.setClosed(Boolean.TRUE);
    OLATResourceable ores = OresHelper.createOLATResourceableInstance("Closed", 0l);
    ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores));
    WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ores, null, getWindowControl());
    myCoursesStackPanel = new BreadcrumbedStackedPanel("mystack", getTranslator(), this);
    closedCoursesCtrl = new RepositoryEntryListController(ureq, bwControl, searchParams, true, false, "closed", myCoursesStackPanel);
    myCoursesStackPanel.pushController(translate("search.mycourses.student"), closedCoursesCtrl);
    listenTo(closedCoursesCtrl);
    currentCtrl = closedCoursesCtrl;
    myDirty = false;
    addToHistory(ureq, closedCoursesCtrl);
    mainVC.put("segmentCmp", myCoursesStackPanel);
    return closedCoursesCtrl;
}
Also used : OLATResourceable(org.olat.core.id.OLATResourceable) SearchMyRepositoryEntryViewParams(org.olat.repository.model.SearchMyRepositoryEntryViewParams) WindowControl(org.olat.core.gui.control.WindowControl) BreadcrumbedStackedPanel(org.olat.core.gui.components.stack.BreadcrumbedStackedPanel)

Example 5 with BreadcrumbedStackedPanel

use of org.olat.core.gui.components.stack.BreadcrumbedStackedPanel in project openolat by klemens.

the class OverviewRepositoryListController method doOpenMark.

private RepositoryEntryListController doOpenMark(UserRequest ureq) {
    cleanUp();
    SearchMyRepositoryEntryViewParams searchParams = new SearchMyRepositoryEntryViewParams(getIdentity(), ureq.getUserSession().getRoles());
    searchParams.setMarked(Boolean.TRUE);
    OLATResourceable ores = OresHelper.createOLATResourceableInstance("Favorits", 0l);
    ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores));
    WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ores, null, getWindowControl());
    markedStackPanel = new BreadcrumbedStackedPanel("mrkstack", getTranslator(), this);
    markedCtrl = new RepositoryEntryListController(ureq, bwControl, searchParams, true, false, "marked", markedStackPanel);
    markedStackPanel.pushController(translate("search.mark"), markedCtrl);
    listenTo(markedCtrl);
    currentCtrl = markedCtrl;
    favoritDirty = false;
    addToHistory(ureq, markedCtrl);
    mainVC.put("segmentCmp", markedStackPanel);
    return markedCtrl;
}
Also used : OLATResourceable(org.olat.core.id.OLATResourceable) SearchMyRepositoryEntryViewParams(org.olat.repository.model.SearchMyRepositoryEntryViewParams) WindowControl(org.olat.core.gui.control.WindowControl) BreadcrumbedStackedPanel(org.olat.core.gui.components.stack.BreadcrumbedStackedPanel)

Aggregations

BreadcrumbedStackedPanel (org.olat.core.gui.components.stack.BreadcrumbedStackedPanel)14 WindowControl (org.olat.core.gui.control.WindowControl)10 OLATResourceable (org.olat.core.id.OLATResourceable)10 SearchMyRepositoryEntryViewParams (org.olat.repository.model.SearchMyRepositoryEntryViewParams)8 Component (org.olat.core.gui.components.Component)4 CourseOverviewController (org.olat.admin.user.course.CourseOverviewController)2 GroupOverviewController (org.olat.admin.user.groups.GroupOverviewController)2 LayoutMain3ColsController (org.olat.core.commons.fullWebApp.LayoutMain3ColsController)2 NotificationSubscriptionController (org.olat.core.commons.services.notifications.ui.NotificationSubscriptionController)2 UserRequest (org.olat.core.gui.UserRequest)2 Panel (org.olat.core.gui.components.panel.Panel)2 BreadcrumbPanel (org.olat.core.gui.components.stack.BreadcrumbPanel)2 TabCreator (org.olat.core.gui.components.tabbedpane.TabCreator)2 TabbedPane (org.olat.core.gui.components.tabbedpane.TabbedPane)2 GenericTreeModel (org.olat.core.gui.components.tree.GenericTreeModel)2 GenericTreeNode (org.olat.core.gui.components.tree.GenericTreeNode)2 MenuTree (org.olat.core.gui.components.tree.MenuTree)2 TreeModel (org.olat.core.gui.components.tree.TreeModel)2 TreeNode (org.olat.core.gui.components.tree.TreeNode)2 Controller (org.olat.core.gui.control.Controller)2