Search in sources :

Example 6 with Spacer

use of org.olat.core.gui.components.dropdown.Dropdown.Spacer in project OpenOLAT by OpenOLAT.

the class CourseRuntimeController method initTools.

private void initTools(Dropdown tools, ICourse course, final UserCourseEnvironmentImpl uce) {
    // 1) administrative tools
    if (reSecurity.isEntryAdmin() || reSecurity.isCourseCoach() || reSecurity.isGroupCoach() || hasCourseRight(CourseRights.RIGHT_COURSEEDITOR) || hasCourseRight(CourseRights.RIGHT_MEMBERMANAGEMENT) || hasCourseRight(CourseRights.RIGHT_GROUPMANAGEMENT) || hasCourseRight(CourseRights.RIGHT_ARCHIVING) || hasCourseRight(CourseRights.RIGHT_STATISTICS) || hasCourseRight(CourseRights.RIGHT_DB) || hasCourseRight(CourseRights.RIGHT_ASSESSMENT) || hasCourseRight(CourseRights.RIGHT_ASSESSMENT_MODE)) {
        tools.setI18nKey("header.tools");
        tools.setElementCssClass("o_sel_course_tools");
        if (uce != null && (reSecurity.isEntryAdmin() || hasCourseRight(CourseRights.RIGHT_COURSEEDITOR))) {
            boolean managed = RepositoryEntryManagedFlag.isManaged(getRepositoryEntry(), RepositoryEntryManagedFlag.editcontent);
            boolean readOnly = uce.isCourseReadOnly();
            editLink = LinkFactory.createToolLink("edit.cmd", translate("command.openeditor"), this, "o_icon_courseeditor");
            editLink.setElementCssClass("o_sel_course_editor");
            editLink.setEnabled(!corrupted && !managed);
            editLink.setVisible(!readOnly);
            tools.addComponent(editLink);
            folderLink = LinkFactory.createToolLink("cfd", translate("command.coursefolder"), this, "o_icon_coursefolder");
            folderLink.setElementCssClass("o_sel_course_folder");
            tools.addComponent(folderLink);
            tools.addComponent(new Spacer(""));
        }
        if (reSecurity.isEntryAdmin() || hasCourseRight(CourseRights.RIGHT_GROUPMANAGEMENT) || hasCourseRight(CourseRights.RIGHT_MEMBERMANAGEMENT)) {
            membersLink = LinkFactory.createToolLink("unifiedusermngt", translate("command.opensimplegroupmngt"), this, "o_icon_membersmanagement");
            membersLink.setElementCssClass("o_sel_course_members");
            tools.addComponent(membersLink);
        }
        if (reSecurity.isEntryAdmin() || reSecurity.isCourseCoach() || reSecurity.isGroupCoach() || hasCourseRight(CourseRights.RIGHT_ASSESSMENT)) {
            assessmentLink = LinkFactory.createToolLink("assessment", translate("command.openassessment"), this, "o_icon_assessment_tool");
            assessmentLink.setElementCssClass("o_sel_course_assessment_tool");
            tools.addComponent(assessmentLink);
        }
        if (reSecurity.isEntryAdmin() || hasCourseRight(CourseRights.RIGHT_ARCHIVING)) {
            archiverLink = LinkFactory.createToolLink("archiver", translate("command.openarchiver"), this, "o_icon_archive_tool");
            tools.addComponent(archiverLink);
        }
        tools.addComponent(new Spacer(""));
        if (reSecurity.isEntryAdmin() || hasCourseRight(CourseRights.RIGHT_STATISTICS)) {
            courseStatisticLink = LinkFactory.createToolLink("statistic", translate("command.openstatistic"), this, "o_icon_statistics_tool");
            tools.addComponent(courseStatisticLink);
        }
        if (uce != null && (reSecurity.isEntryAdmin() || reSecurity.isCourseCoach() || reSecurity.isGroupCoach() || hasCourseRight(CourseRights.RIGHT_STATISTICS))) {
            final AtomicInteger testNodes = new AtomicInteger();
            final AtomicInteger surveyNodes = new AtomicInteger();
            new TreeVisitor(new Visitor() {

                @Override
                public void visit(INode node) {
                    if (((CourseNode) node).isStatisticNodeResultAvailable(uce, QTIType.test, QTIType.onyx)) {
                        testNodes.incrementAndGet();
                    } else if (((CourseNode) node).isStatisticNodeResultAvailable(uce, QTIType.survey)) {
                        surveyNodes.incrementAndGet();
                    }
                }
            }, course.getRunStructure().getRootNode(), true).visitAll();
            if (testNodes.intValue() > 0) {
                testStatisticLink = LinkFactory.createToolLink("qtistatistic", translate("command.openteststatistic"), this, "o_icon_statistics_tool");
                tools.addComponent(testStatisticLink);
            }
            if (surveyNodes.intValue() > 0) {
                surveyStatisticLink = LinkFactory.createToolLink("qtistatistic", translate("command.opensurveystatistic"), this, "o_icon_statistics_tool");
                tools.addComponent(surveyStatisticLink);
            }
        }
        tools.addComponent(new Spacer(""));
        if (reSecurity.isEntryAdmin() || hasCourseRight(CourseRights.RIGHT_COURSEEDITOR)) {
            areaLink = LinkFactory.createToolLink("careas", translate("command.courseareas"), this, "o_icon_courseareas");
            areaLink.setElementCssClass("o_sel_course_areas");
            tools.addComponent(areaLink);
        }
        if (courseDBManager.isEnabled() && (reSecurity.isEntryAdmin() || hasCourseRight(CourseRights.RIGHT_DB))) {
            dbLink = LinkFactory.createToolLink("customDb", translate("command.opendb"), this, "o_icon_coursedb");
            tools.addComponent(dbLink);
        }
        ordersLink = LinkFactory.createToolLink("bookings", translate("details.orders"), this, "o_sel_repo_booking");
        ordersLink.setIconLeftCSS("o_icon o_icon-fw o_icon_booking");
        ordersLink.setElementCssClass("o_sel_course_ac_tool");
        boolean booking = acService.isResourceAccessControled(getRepositoryEntry().getOlatResource(), null);
        ordersLink.setVisible(!corrupted && booking);
        tools.addComponent(ordersLink);
    }
}
Also used : TreeVisitor(org.olat.core.util.tree.TreeVisitor) INode(org.olat.core.util.nodes.INode) TreeVisitor(org.olat.core.util.tree.TreeVisitor) Visitor(org.olat.core.util.tree.Visitor) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Spacer(org.olat.core.gui.components.dropdown.Dropdown.Spacer) ENCourseNode(org.olat.course.nodes.ENCourseNode) CourseNode(org.olat.course.nodes.CourseNode)

Example 7 with Spacer

use of org.olat.core.gui.components.dropdown.Dropdown.Spacer in project OpenOLAT by OpenOLAT.

the class CourseRuntimeController method initSettingsTools.

@Override
protected void initSettingsTools(Dropdown settings) {
    boolean courseAuthorRight = reSecurity.isEntryAdmin() || hasCourseRight(CourseRights.RIGHT_COURSEEDITOR);
    if (courseAuthorRight || hasCourseRight(CourseRights.RIGHT_ASSESSMENT_MODE)) {
        boolean managed = RepositoryEntryManagedFlag.isManaged(getRepositoryEntry(), RepositoryEntryManagedFlag.editcontent);
        UserCourseEnvironment uce = getUserCourseEnvironment();
        if (uce == null) {
            logError("User course environnment is null: " + getRepositoryEntry(), null);
            // cannot edit settings without uce
            return;
        }
        settings.setElementCssClass("o_sel_course_settings");
        if (courseAuthorRight) {
            editDescriptionLink = LinkFactory.createToolLink("settings.cmd", translate("command.settings"), this, "o_icon_details");
            editDescriptionLink.setElementCssClass("o_sel_course_settings");
            editDescriptionLink.setEnabled(!managed);
            settings.addComponent(editDescriptionLink);
            accessLink = LinkFactory.createToolLink("access.cmd", translate("command.access"), this, "o_icon_password");
            accessLink.setElementCssClass("o_sel_course_access");
            accessLink.setEnabled(!managed);
            settings.addComponent(accessLink);
        }
        // course author right or the assessment mode access right
        assessmentModeLink = LinkFactory.createToolLink("assessment.mode.cmd", translate("command.assessment.mode"), this, "o_icon_assessment_mode");
        assessmentModeLink.setElementCssClass("o_sel_course_assessment_mode");
        assessmentModeLink.setEnabled(!managed);
        assessmentModeLink.setVisible(assessmentModule.isAssessmentModeEnabled() && !uce.isCourseReadOnly());
        settings.addComponent(assessmentModeLink);
        if (courseAuthorRight) {
            catalogLink = LinkFactory.createToolLink("access.cmd", translate("command.catalog"), this, "o_icon_catalog");
            catalogLink.setElementCssClass("o_sel_course_catalog");
            catalogLink.setVisible(repositoryModule.isCatalogEnabled());
            settings.addComponent(catalogLink);
            settings.addComponent(new Spacer(""));
            boolean layoutManaged = RepositoryEntryManagedFlag.isManaged(getRepositoryEntry(), RepositoryEntryManagedFlag.layout);
            layoutLink = LinkFactory.createToolLink("access.cmd", translate("command.layout"), this, "o_icon_layout");
            layoutLink.setElementCssClass("o_sel_course_layout");
            layoutLink.setEnabled(!layoutManaged);
            layoutLink.setVisible(!uce.isCourseReadOnly());
            settings.addComponent(layoutLink);
            optionsLink = LinkFactory.createToolLink("access.cmd", translate("command.options"), this, "o_icon_options");
            optionsLink.setElementCssClass("o_sel_course_options");
            optionsLink.setVisible(!uce.isCourseReadOnly());
            settings.addComponent(optionsLink);
            certificatesOptionsLink = LinkFactory.createToolLink("certificates.cmd", translate("command.options.certificates"), this, "o_icon_certificate");
            certificatesOptionsLink.setElementCssClass("o_sel_course_options_certificates");
            certificatesOptionsLink.setVisible(!uce.isCourseReadOnly());
            settings.addComponent(certificatesOptionsLink);
        }
        if (courseAuthorRight && reminderModule.isEnabled()) {
            reminderLink = LinkFactory.createToolLink("reminders.cmd", translate("command.options.reminders"), this, "o_icon_reminder");
            reminderLink.setElementCssClass("o_sel_course_reminders");
            reminderLink.setVisible(!uce.isCourseReadOnly());
            settings.addComponent(reminderLink);
        }
        if (courseAuthorRight && lectureModule.isEnabled()) {
            lecturesAdminLink = LinkFactory.createToolLink("lectures.admin.cmd", translate("command.options.lectures.admin"), this, "o_icon_lecture");
            lecturesAdminLink.setElementCssClass("o_sel_course_lectures_admin");
            lecturesAdminLink.setVisible(!uce.isCourseReadOnly());
            settings.addComponent(lecturesAdminLink);
        }
    }
}
Also used : UserCourseEnvironment(org.olat.course.run.userview.UserCourseEnvironment) Spacer(org.olat.core.gui.components.dropdown.Dropdown.Spacer)

Example 8 with Spacer

use of org.olat.core.gui.components.dropdown.Dropdown.Spacer in project OpenOLAT by OpenOLAT.

the class QTIEditorMainController method populateToolC.

private void populateToolC() {
    // tools
    Dropdown exportTools = new Dropdown("exportTools", "tools.export.header", false, getTranslator());
    exportTools.setIconCSS("o_icon o_icon_export");
    stackedPanel.addTool(exportTools, Align.left);
    exportTools.addComponent(previewLink);
    exportPoolLink = LinkFactory.createToolLink(CMD_TOOLS_EXPORT_QPOOL, translate("tools.export.qpool"), this, "o_mi_qpool_export");
    exportPoolLink.setIconLeftCSS("o_icon o_icon_download");
    exportTools.addComponent(exportPoolLink);
    exportDocLink = LinkFactory.createToolLink(CMD_TOOLS_EXPORT_DOCX, translate("tools.export.docx"), this, "o_mi_docx_export");
    exportDocLink.setIconLeftCSS("o_icon o_icon_download");
    exportTools.addComponent(exportDocLink);
    convertQTI21Link = LinkFactory.createToolLink(CMD_TOOLS_CONVERT_TO_QTI21, translate("tools.convert.qti21"), this, "o_FileResource-IMSQTI21_icon");
    convertQTI21Link.setIconLeftCSS("o_icon o_FileResource-IMSQTI21_icon");
    exportTools.addComponent(convertQTI21Link);
    // add
    Dropdown addItemTools = new Dropdown("editTools", "tools.add.header", false, getTranslator());
    addItemTools.setIconCSS("o_icon o_icon-fw o_icon_add");
    stackedPanel.addTool(addItemTools, Align.left);
    addSectionLink = LinkFactory.createToolLink(CMD_TOOLS_ADD_SECTION, translate("tools.add.section"), this, "o_mi_qtisection");
    addItemTools.addComponent(addSectionLink);
    addSCLink = LinkFactory.createToolLink(CMD_TOOLS_ADD_SINGLECHOICE, translate("tools.add.singlechoice"), this, "o_mi_qtisc");
    addItemTools.addComponent(addSCLink);
    addMCLink = LinkFactory.createToolLink(CMD_TOOLS_ADD_MULTIPLECHOICE, translate("tools.add.multiplechoice"), this, "o_mi_qtimc");
    addItemTools.addComponent(addMCLink);
    if (!qtiPackage.getQTIDocument().isSurvey()) {
        addKPrimLink = LinkFactory.createToolLink(CMD_TOOLS_ADD_KPRIM, translate("tools.add.kprim"), this, "o_mi_qtikprim");
        addItemTools.addComponent(addKPrimLink);
    }
    addFIBLink = LinkFactory.createToolLink(CMD_TOOLS_ADD_FIB, translate("tools.add.cloze"), this, "o_mi_qtifib");
    addItemTools.addComponent(addFIBLink);
    addEssayLink = LinkFactory.createToolLink(CMD_TOOLS_ADD_FREETEXT, translate("tools.add.freetext"), this, "o_mi_qtiessay");
    addItemTools.addComponent(addEssayLink);
    addItemTools.addComponent(new Spacer(""));
    addPoolLink = LinkFactory.createToolLink(CMD_TOOLS_ADD_QPOOL, translate("tools.import.qpool"), this, "o_mi_qpool_import");
    addItemTools.addComponent(addPoolLink);
    importTableLink = LinkFactory.createToolLink(CMD_TOOLS_IMPORT_TABLE, translate("tools.import.table"), this, "o_mi_table_import");
    importTableLink.setIconLeftCSS("o_icon o_icon_table o_icon-fw");
    addItemTools.addComponent(importTableLink);
    // delete / move / copy
    Dropdown customizeTools = new Dropdown("customizeTools", "tools.change.header", false, getTranslator());
    customizeTools.setIconCSS("o_icon o_icon_customize");
    stackedPanel.addTool(customizeTools, Align.left);
    deleteLink = LinkFactory.createToolLink(CMD_TOOLS_CHANGE_DELETE, translate("tools.change.delete"), this);
    deleteLink.setIconLeftCSS("o_icon o_icon_delete_item");
    customizeTools.addComponent(deleteLink);
    moveLink = LinkFactory.createToolLink(CMD_TOOLS_CHANGE_MOVE, translate("tools.change.move"), this);
    moveLink.setIconLeftCSS("o_icon o_icon_move");
    customizeTools.addComponent(moveLink);
    copyLink = LinkFactory.createToolLink(CMD_TOOLS_CHANGE_COPY, translate("tools.change.copy"), this);
    copyLink.setIconLeftCSS("o_icon o_icon_copy");
    customizeTools.addComponent(copyLink);
    previewLink = LinkFactory.createToolLink(CMD_TOOLS_PREVIEW, translate("tools.tools.preview"), this);
    previewLink.setIconLeftCSS("o_icon o_icon-fw o_icon_preview");
    stackedPanel.addTool(previewLink, Align.right);
    closeLink = LinkFactory.createToolLink(CMD_TOOLS_CLOSE_EDITOR, translate("tools.tools.closeeditor"), this, "o_toolbox_close");
    closeLink.setIconLeftCSS("o_icon o_icon_publish");
    stackedPanel.addTool(closeLink, Align.right);
}
Also used : Spacer(org.olat.core.gui.components.dropdown.Dropdown.Spacer) Dropdown(org.olat.core.gui.components.dropdown.Dropdown)

Example 9 with Spacer

use of org.olat.core.gui.components.dropdown.Dropdown.Spacer in project OpenOLAT by OpenOLAT.

the class QTI21RuntimeController method initSettingsTools.

@Override
protected void initSettingsTools(Dropdown settingsDropdown) {
    super.initSettingsTools(settingsDropdown);
    if (reSecurity.isEntryAdmin()) {
        settingsDropdown.addComponent(new Spacer(""));
        qtiOptionsLink = LinkFactory.createToolLink("options", translate("tab.options"), this, "o_sel_repo_options");
        qtiOptionsLink.setIconLeftCSS("o_icon o_icon-fw o_icon_options");
        qtiOptionsLink.setElementCssClass("o_sel_qti_resource_options");
        settingsDropdown.addComponent(qtiOptionsLink);
    }
}
Also used : Spacer(org.olat.core.gui.components.dropdown.Dropdown.Spacer)

Example 10 with Spacer

use of org.olat.core.gui.components.dropdown.Dropdown.Spacer in project openolat by klemens.

the class CPRuntimeController method initSettingsTools.

@Override
protected void initSettingsTools(Dropdown settingsDropdown) {
    super.initSettingsTools(settingsDropdown);
    if (reSecurity.isEntryAdmin()) {
        settingsDropdown.addComponent(new Spacer(""));
        if (quotaManager.hasQuotaEditRights(getIdentity())) {
            quotaLink = LinkFactory.createToolLink("quota", translate("tab.quota.edit"), this, "o_sel_repo_quota");
            quotaLink.setIconLeftCSS("o_icon o_icon-fw o_icon_quota");
            settingsDropdown.addComponent(quotaLink);
        }
        deliveryOptionsLink = LinkFactory.createToolLink("layout", translate("tab.layout"), this, "o_sel_repo_layout");
        deliveryOptionsLink.setIconLeftCSS("o_icon o_icon-fw o_icon_options");
        settingsDropdown.addComponent(deliveryOptionsLink);
    }
}
Also used : Spacer(org.olat.core.gui.components.dropdown.Dropdown.Spacer)

Aggregations

Spacer (org.olat.core.gui.components.dropdown.Dropdown.Spacer)32 Dropdown (org.olat.core.gui.components.dropdown.Dropdown)6 Link (org.olat.core.gui.components.link.Link)4 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)2 Component (org.olat.core.gui.components.Component)2 LinkPopupSettings (org.olat.core.gui.components.link.LinkPopupSettings)2 GenericTreeNode (org.olat.core.gui.components.tree.GenericTreeNode)2 INode (org.olat.core.util.nodes.INode)2 TreeVisitor (org.olat.core.util.tree.TreeVisitor)2 Visitor (org.olat.core.util.tree.Visitor)2 CourseConfig (org.olat.course.config.CourseConfig)2 CourseNode (org.olat.course.nodes.CourseNode)2 ENCourseNode (org.olat.course.nodes.ENCourseNode)2 UserCourseEnvironment (org.olat.course.run.userview.UserCourseEnvironment)2 BusinessGroup (org.olat.group.BusinessGroup)2 RepositoryEntry (org.olat.repository.RepositoryEntry)2 RepositoryHandler (org.olat.repository.handlers.RepositoryHandler)2 OrderedRepositoryHandler (org.olat.repository.handlers.RepositoryHandlerFactory.OrderedRepositoryHandler)2