Search in sources :

Example 6 with Status

use of org.olat.course.assessment.AssessmentMode.Status in project OpenOLAT by OpenOLAT.

the class AssessmentModeEditController method initForm.

@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
    formLayout.setElementCssClass("o_sel_assessment_mode_edit_form");
    setFormContextHelp("Assessment mode");
    if (StringHelper.containsNonWhitespace(assessmentMode.getName())) {
        setFormTitle("form.mode.title", new String[] { assessmentMode.getName() });
    } else {
        setFormTitle("form.mode.title.add");
    }
    setFormDescription("form.mode.description");
    ICourse course = CourseFactory.loadCourse(courseOres);
    if (StringHelper.containsNonWhitespace(assessmentMode.getStartElement())) {
        CourseNode startElement = course.getRunStructure().getNode(assessmentMode.getStartElement());
        if (startElement == null) {
            setFormWarning("warning.missing.start.element");
        }
    }
    if (StringHelper.containsNonWhitespace(assessmentMode.getElementList())) {
        String elements = assessmentMode.getElementList();
        for (String element : elements.split(",")) {
            CourseNode node = course.getRunStructure().getNode(element);
            if (node == null) {
                setFormWarning("warning.missing.element");
            }
        }
    }
    Status status = assessmentMode.getStatus();
    String name = assessmentMode.getName();
    nameEl = uifactory.addTextElement("mode.name", "mode.name", 255, name, formLayout);
    nameEl.setElementCssClass("o_sel_assessment_mode_name");
    nameEl.setMandatory(true);
    nameEl.setEnabled(status != Status.followup && status != Status.end);
    String desc = assessmentMode.getDescription();
    descriptionEl = uifactory.addRichTextElementForStringData("mode.description", "mode.description", desc, 6, -1, false, null, null, formLayout, ureq.getUserSession(), getWindowControl());
    descriptionEl.setEnabled(status != Status.followup && status != Status.end);
    beginEl = uifactory.addDateChooser("mode.begin", assessmentMode.getBegin(), formLayout);
    beginEl.setElementCssClass("o_sel_assessment_mode_begin");
    beginEl.setDateChooserTimeEnabled(true);
    beginEl.setMandatory(true);
    beginEl.setEnabled(status == Status.none || status == Status.leadtime);
    int leadTime = assessmentMode.getLeadTime();
    if (leadTime < 0) {
        leadTime = 0;
    }
    leadTimeEl = uifactory.addIntegerElement("mode.leadTime", leadTime, formLayout);
    leadTimeEl.setElementCssClass("o_sel_assessment_mode_leadtime");
    leadTimeEl.setDisplaySize(3);
    leadTimeEl.setEnabled(status == Status.none || status == Status.leadtime);
    endEl = uifactory.addDateChooser("mode.end", assessmentMode.getEnd(), formLayout);
    endEl.setElementCssClass("o_sel_assessment_mode_end");
    endEl.setDateChooserTimeEnabled(true);
    endEl.setDefaultValue(beginEl);
    endEl.setMandatory(true);
    endEl.setEnabled(status != Status.end);
    int followupTime = assessmentMode.getFollowupTime();
    if (followupTime < 0) {
        followupTime = 0;
    }
    followupTimeEl = uifactory.addIntegerElement("mode.followupTime", followupTime, formLayout);
    followupTimeEl.setElementCssClass("o_sel_assessment_mode_followuptime");
    followupTimeEl.setDisplaySize(3);
    followupTimeEl.setEnabled(status != Status.end);
    String[] startModeValues = new String[] { translate("mode.beginend.automatic"), translate("mode.beginend.manual") };
    startModeEl = uifactory.addDropdownSingleselect("mode.beginend", formLayout, startModeKeys, startModeValues, null);
    startModeEl.setElementCssClass("o_sel_assessment_mode_start_mode");
    if (assessmentMode.isManualBeginEnd()) {
        startModeEl.select(startModeKeys[1], true);
    } else {
        startModeEl.select(startModeKeys[0], true);
    }
    startModeEl.setEnabled(status != Status.end);
    String[] audienceKeys = new String[] { AssessmentMode.Target.courseAndGroups.name(), AssessmentMode.Target.course.name(), AssessmentMode.Target.groups.name() };
    String[] audienceValues = new String[] { translate("target.courseAndGroups"), translate("target.course"), translate("target.groups") };
    targetEl = uifactory.addRadiosVertical("audience", "mode.target", formLayout, audienceKeys, audienceValues);
    targetEl.setElementCssClass("o_sel_assessment_mode_audience");
    targetEl.setEnabled(status != Status.end);
    Target target = assessmentMode.getTargetAudience();
    if (target != null) {
        for (String audienceKey : audienceKeys) {
            if (audienceKey.equals(target.name())) {
                targetEl.select(audienceKey, true);
            }
        }
    }
    if (!targetEl.isOneSelected()) {
        targetEl.select(audienceKeys[0], true);
    }
    // choose groups
    String groupPage = velocity_root + "/choose_groups.html";
    chooseGroupsCont = FormLayoutContainer.createCustomFormLayout("chooseGroups", getTranslator(), groupPage);
    chooseGroupsCont.setRootForm(mainForm);
    formLayout.add(chooseGroupsCont);
    chooseGroupsButton = uifactory.addFormLink("choose.groups", chooseGroupsCont, Link.BUTTON);
    chooseGroupsButton.setEnabled(status != Status.end);
    chooseAreasButton = uifactory.addFormLink("choose.areas", chooseGroupsCont, Link.BUTTON);
    chooseAreasButton.setEnabled(status != Status.end);
    groupKeys = new ArrayList<>();
    groupNames = new ArrayList<>();
    for (AssessmentModeToGroup modeToGroup : assessmentMode.getGroups()) {
        BusinessGroup group = modeToGroup.getBusinessGroup();
        groupKeys.add(group.getKey());
        groupNames.add(StringHelper.escapeHtml(group.getName()));
    }
    chooseGroupsCont.getFormItemComponent().contextPut("groupNames", groupNames);
    areaKeys = new ArrayList<>();
    areaNames = new ArrayList<>();
    for (AssessmentModeToArea modeToArea : assessmentMode.getAreas()) {
        BGArea area = modeToArea.getArea();
        areaKeys.add(area.getKey());
        areaNames.add(StringHelper.escapeHtml(area.getName()));
    }
    chooseGroupsCont.getFormItemComponent().contextPut("areaNames", areaNames);
    // course elements
    courseElementsRestrictionEl = uifactory.addCheckboxesHorizontal("cer", "mode.course.element.restriction", formLayout, onKeys, onValues);
    courseElementsRestrictionEl.addActionListener(FormEvent.ONCHANGE);
    courseElementsRestrictionEl.select(onKeys[0], assessmentMode.isRestrictAccessElements());
    courseElementsRestrictionEl.setEnabled(status != Status.end);
    String coursePage = velocity_root + "/choose_elements.html";
    chooseElementsCont = FormLayoutContainer.createCustomFormLayout("chooseElements", getTranslator(), coursePage);
    chooseElementsCont.setRootForm(mainForm);
    formLayout.add(chooseElementsCont);
    chooseElementsCont.setVisible(assessmentMode.isRestrictAccessElements());
    CourseEditorTreeModel treeModel = course.getEditorTreeModel();
    elementKeys = new ArrayList<>();
    elementNames = new ArrayList<>();
    String elements = assessmentMode.getElementList();
    if (StringHelper.containsNonWhitespace(elements)) {
        for (String element : elements.split(",")) {
            String courseNodeName = getCourseNodeName(element, treeModel);
            if (StringHelper.containsNonWhitespace(courseNodeName)) {
                elementKeys.add(element);
                elementNames.add(courseNodeName);
            }
        }
    }
    chooseElementsCont.getFormItemComponent().contextPut("elementNames", elementNames);
    chooseElementsButton = uifactory.addFormLink("choose.elements", chooseElementsCont, Link.BUTTON);
    chooseElementsButton.setEnabled(status != Status.end);
    startElementKey = assessmentMode.getStartElement();
    String startElementName = "";
    if (StringHelper.containsNonWhitespace(startElementKey)) {
        startElementName = getCourseNodeName(startElementKey, treeModel);
    }
    startElementEl = uifactory.addStaticTextElement("mode.start.element", "mode.start.element", startElementName, formLayout);
    chooseStartElementButton = uifactory.addFormLink("choose.start.element", formLayout, Link.BUTTON);
    chooseStartElementButton.setEnabled(status != Status.end);
    // ips
    ipsEl = uifactory.addCheckboxesHorizontal("ips", "mode.ips", formLayout, onKeys, onValues);
    ipsEl.select(onKeys[0], assessmentMode.isRestrictAccessIps());
    ipsEl.addActionListener(FormEvent.ONCHANGE);
    ipsEl.setEnabled(status != Status.end);
    String ipList = assessmentMode.getIpList();
    ipListEl = uifactory.addTextAreaElement("mode.ips.list", "mode.ips.list", 4096, 4, 60, false, ipList, formLayout);
    ipListEl.setVisible(assessmentMode.isRestrictAccessIps());
    ipListEl.setEnabled(status != Status.end);
    safeExamBrowserEl = uifactory.addCheckboxesHorizontal("safeexam", "mode.safeexambrowser", formLayout, onKeys, onValues);
    safeExamBrowserEl.select(onKeys[0], assessmentMode.isSafeExamBrowser());
    safeExamBrowserEl.addActionListener(FormEvent.ONCHANGE);
    safeExamBrowserEl.setEnabled(status != Status.end);
    String key = assessmentMode.getSafeExamBrowserKey();
    safeExamBrowserKeyEl = uifactory.addTextAreaElement("safeexamkey", "mode.safeexambrowser.key", 4096, 6, 60, false, key, formLayout);
    safeExamBrowserKeyEl.setVisible(assessmentMode.isSafeExamBrowser());
    safeExamBrowserKeyEl.setEnabled(status != Status.end);
    String hint = assessmentMode.getSafeExamBrowserHint();
    safeExamBrowserHintEl = uifactory.addRichTextElementForStringData("safeexamhint", "mode.safeexambrowser.hint", hint, 10, -1, false, null, null, formLayout, ureq.getUserSession(), getWindowControl());
    safeExamBrowserHintEl.setVisible(assessmentMode.isSafeExamBrowser());
    safeExamBrowserHintEl.setEnabled(status != Status.end);
    forCoachEl = uifactory.addCheckboxesHorizontal("forcoach", "mode.for.coach", formLayout, onKeys, onValues);
    forCoachEl.select(onKeys[0], assessmentMode.isApplySettingsForCoach());
    forCoachEl.setEnabled(status != Status.end);
    FormLayoutContainer buttonCont = FormLayoutContainer.createButtonLayout("button", getTranslator());
    formLayout.add(buttonCont);
    if (status != Status.end) {
        uifactory.addFormSubmitButton("save", buttonCont);
    }
    uifactory.addFormCancelButton("cancel", buttonCont, ureq, getWindowControl());
}
Also used : Status(org.olat.course.assessment.AssessmentMode.Status) CourseEditorTreeModel(org.olat.course.tree.CourseEditorTreeModel) BusinessGroup(org.olat.group.BusinessGroup) AssessmentModeToGroup(org.olat.course.assessment.AssessmentModeToGroup) FormLayoutContainer(org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer) ICourse(org.olat.course.ICourse) AssessmentModeToArea(org.olat.course.assessment.AssessmentModeToArea) Target(org.olat.course.assessment.AssessmentMode.Target) BGArea(org.olat.group.area.BGArea) CourseNode(org.olat.course.nodes.CourseNode)

Example 7 with Status

use of org.olat.course.assessment.AssessmentMode.Status in project OpenOLAT by OpenOLAT.

the class AssessmentModeListModel method getValueAt.

@Override
public Object getValueAt(AssessmentMode mode, int col) {
    switch(Cols.values()[col]) {
        case status:
            {
                List<String> warnings = null;
                Status status = mode.getStatus();
                try {
                    if (StringHelper.containsNonWhitespace(mode.getStartElement())) {
                        ICourse course = CourseFactory.loadCourse(mode.getRepositoryEntry());
                        CourseNode node = course.getRunStructure().getNode(mode.getStartElement());
                        if (node == null) {
                            warnings = new ArrayList<>(2);
                            warnings.add(translator.translate("warning.missing.start.element"));
                        }
                    }
                    if (StringHelper.containsNonWhitespace(mode.getElementList())) {
                        ICourse course = CourseFactory.loadCourse(mode.getRepositoryEntry());
                        String elements = mode.getElementList();
                        for (String element : elements.split(",")) {
                            CourseNode node = course.getRunStructure().getNode(element);
                            if (node == null) {
                                if (warnings == null) {
                                    warnings = new ArrayList<>(2);
                                }
                                warnings.add(translator.translate("warning.missing.element"));
                                break;
                            }
                        }
                    }
                } catch (CorruptedCourseException e) {
                    log.error("", e);
                    if (warnings == null) {
                        warnings = new ArrayList<>(2);
                    }
                    warnings.add(translator.translate("cif.error.corrupted"));
                }
                return new EnhancedStatus(status, warnings);
            }
        case course:
            return mode.getRepositoryEntry().getDisplayname();
        case externalId:
            return mode.getRepositoryEntry().getExternalId();
        case externalRef:
            return mode.getRepositoryEntry().getExternalRef();
        case name:
            return mode.getName();
        case begin:
            return mode.getBegin();
        case end:
            return mode.getEnd();
        case leadTime:
            return mode.getLeadTime();
        case followupTime:
            return mode.getFollowupTime();
        case target:
            return mode.getTargetAudience();
        case start:
            {
                boolean canStart = mode.isManualBeginEnd();
                if (canStart) {
                    canStart = coordinationService.canStart(mode);
                }
                return canStart;
            }
        case stop:
            {
                boolean canStop = mode.isManualBeginEnd();
                if (canStop) {
                    canStop = coordinationService.canStop(mode);
                }
                return canStop;
            }
    }
    return null;
}
Also used : EnhancedStatus(org.olat.course.assessment.model.EnhancedStatus) Status(org.olat.course.assessment.AssessmentMode.Status) CorruptedCourseException(org.olat.course.CorruptedCourseException) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) ICourse(org.olat.course.ICourse) CourseNode(org.olat.course.nodes.CourseNode) EnhancedStatus(org.olat.course.assessment.model.EnhancedStatus)

Example 8 with Status

use of org.olat.course.assessment.AssessmentMode.Status in project OpenOLAT by OpenOLAT.

the class AssessmentModeListController method doConfirmDelete.

private void doConfirmDelete(UserRequest ureq, List<AssessmentMode> modeToDelete) {
    StringBuilder sb = new StringBuilder();
    boolean canDelete = true;
    for (AssessmentMode mode : modeToDelete) {
        if (sb.length() > 0)
            sb.append(", ");
        sb.append(mode.getName());
        Status status = mode.getStatus();
        if (status == Status.leadtime || status == Status.assessment || status == Status.followup) {
            canDelete = false;
        }
    }
    if (canDelete) {
        String names = StringHelper.escapeHtml(sb.toString());
        String title = translate("confirm.delete.title");
        String text = translate("confirm.delete.text", names);
        deleteDialogBox = activateYesNoDialog(ureq, title, text, deleteDialogBox);
        deleteDialogBox.setUserObject(modeToDelete);
    } else {
        showWarning("error.in.assessment");
    }
}
Also used : Status(org.olat.course.assessment.AssessmentMode.Status) TransientAssessmentMode(org.olat.course.assessment.model.TransientAssessmentMode) AssessmentMode(org.olat.course.assessment.AssessmentMode)

Example 9 with Status

use of org.olat.course.assessment.AssessmentMode.Status in project openolat by klemens.

the class AssessmentModeEditController method initForm.

@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
    formLayout.setElementCssClass("o_sel_assessment_mode_edit_form");
    setFormContextHelp("Assessment mode");
    if (StringHelper.containsNonWhitespace(assessmentMode.getName())) {
        setFormTitle("form.mode.title", new String[] { assessmentMode.getName() });
    } else {
        setFormTitle("form.mode.title.add");
    }
    setFormDescription("form.mode.description");
    ICourse course = CourseFactory.loadCourse(courseOres);
    if (StringHelper.containsNonWhitespace(assessmentMode.getStartElement())) {
        CourseNode startElement = course.getRunStructure().getNode(assessmentMode.getStartElement());
        if (startElement == null) {
            setFormWarning("warning.missing.start.element");
        }
    }
    if (StringHelper.containsNonWhitespace(assessmentMode.getElementList())) {
        String elements = assessmentMode.getElementList();
        for (String element : elements.split(",")) {
            CourseNode node = course.getRunStructure().getNode(element);
            if (node == null) {
                setFormWarning("warning.missing.element");
            }
        }
    }
    Status status = assessmentMode.getStatus();
    String name = assessmentMode.getName();
    nameEl = uifactory.addTextElement("mode.name", "mode.name", 255, name, formLayout);
    nameEl.setElementCssClass("o_sel_assessment_mode_name");
    nameEl.setMandatory(true);
    nameEl.setEnabled(status != Status.followup && status != Status.end);
    String desc = assessmentMode.getDescription();
    descriptionEl = uifactory.addRichTextElementForStringData("mode.description", "mode.description", desc, 6, -1, false, null, null, formLayout, ureq.getUserSession(), getWindowControl());
    descriptionEl.setEnabled(status != Status.followup && status != Status.end);
    beginEl = uifactory.addDateChooser("mode.begin", assessmentMode.getBegin(), formLayout);
    beginEl.setElementCssClass("o_sel_assessment_mode_begin");
    beginEl.setDateChooserTimeEnabled(true);
    beginEl.setMandatory(true);
    beginEl.setEnabled(status == Status.none || status == Status.leadtime);
    int leadTime = assessmentMode.getLeadTime();
    if (leadTime < 0) {
        leadTime = 0;
    }
    leadTimeEl = uifactory.addIntegerElement("mode.leadTime", leadTime, formLayout);
    leadTimeEl.setElementCssClass("o_sel_assessment_mode_leadtime");
    leadTimeEl.setDisplaySize(3);
    leadTimeEl.setEnabled(status == Status.none || status == Status.leadtime);
    endEl = uifactory.addDateChooser("mode.end", assessmentMode.getEnd(), formLayout);
    endEl.setElementCssClass("o_sel_assessment_mode_end");
    endEl.setDateChooserTimeEnabled(true);
    endEl.setDefaultValue(beginEl);
    endEl.setMandatory(true);
    endEl.setEnabled(status != Status.end);
    int followupTime = assessmentMode.getFollowupTime();
    if (followupTime < 0) {
        followupTime = 0;
    }
    followupTimeEl = uifactory.addIntegerElement("mode.followupTime", followupTime, formLayout);
    followupTimeEl.setElementCssClass("o_sel_assessment_mode_followuptime");
    followupTimeEl.setDisplaySize(3);
    followupTimeEl.setEnabled(status != Status.end);
    String[] startModeValues = new String[] { translate("mode.beginend.automatic"), translate("mode.beginend.manual") };
    startModeEl = uifactory.addDropdownSingleselect("mode.beginend", formLayout, startModeKeys, startModeValues, null);
    startModeEl.setElementCssClass("o_sel_assessment_mode_start_mode");
    if (assessmentMode.isManualBeginEnd()) {
        startModeEl.select(startModeKeys[1], true);
    } else {
        startModeEl.select(startModeKeys[0], true);
    }
    startModeEl.setEnabled(status != Status.end);
    String[] audienceKeys = new String[] { AssessmentMode.Target.courseAndGroups.name(), AssessmentMode.Target.course.name(), AssessmentMode.Target.groups.name() };
    String[] audienceValues = new String[] { translate("target.courseAndGroups"), translate("target.course"), translate("target.groups") };
    targetEl = uifactory.addRadiosVertical("audience", "mode.target", formLayout, audienceKeys, audienceValues);
    targetEl.setElementCssClass("o_sel_assessment_mode_audience");
    targetEl.setEnabled(status != Status.end);
    Target target = assessmentMode.getTargetAudience();
    if (target != null) {
        for (String audienceKey : audienceKeys) {
            if (audienceKey.equals(target.name())) {
                targetEl.select(audienceKey, true);
            }
        }
    }
    if (!targetEl.isOneSelected()) {
        targetEl.select(audienceKeys[0], true);
    }
    // choose groups
    String groupPage = velocity_root + "/choose_groups.html";
    chooseGroupsCont = FormLayoutContainer.createCustomFormLayout("chooseGroups", getTranslator(), groupPage);
    chooseGroupsCont.setRootForm(mainForm);
    formLayout.add(chooseGroupsCont);
    chooseGroupsButton = uifactory.addFormLink("choose.groups", chooseGroupsCont, Link.BUTTON);
    chooseGroupsButton.setEnabled(status != Status.end);
    chooseAreasButton = uifactory.addFormLink("choose.areas", chooseGroupsCont, Link.BUTTON);
    chooseAreasButton.setEnabled(status != Status.end);
    groupKeys = new ArrayList<>();
    groupNames = new ArrayList<>();
    for (AssessmentModeToGroup modeToGroup : assessmentMode.getGroups()) {
        BusinessGroup group = modeToGroup.getBusinessGroup();
        groupKeys.add(group.getKey());
        groupNames.add(StringHelper.escapeHtml(group.getName()));
    }
    chooseGroupsCont.getFormItemComponent().contextPut("groupNames", groupNames);
    areaKeys = new ArrayList<>();
    areaNames = new ArrayList<>();
    for (AssessmentModeToArea modeToArea : assessmentMode.getAreas()) {
        BGArea area = modeToArea.getArea();
        areaKeys.add(area.getKey());
        areaNames.add(StringHelper.escapeHtml(area.getName()));
    }
    chooseGroupsCont.getFormItemComponent().contextPut("areaNames", areaNames);
    // course elements
    courseElementsRestrictionEl = uifactory.addCheckboxesHorizontal("cer", "mode.course.element.restriction", formLayout, onKeys, onValues);
    courseElementsRestrictionEl.addActionListener(FormEvent.ONCHANGE);
    courseElementsRestrictionEl.select(onKeys[0], assessmentMode.isRestrictAccessElements());
    courseElementsRestrictionEl.setEnabled(status != Status.end);
    String coursePage = velocity_root + "/choose_elements.html";
    chooseElementsCont = FormLayoutContainer.createCustomFormLayout("chooseElements", getTranslator(), coursePage);
    chooseElementsCont.setRootForm(mainForm);
    formLayout.add(chooseElementsCont);
    chooseElementsCont.setVisible(assessmentMode.isRestrictAccessElements());
    CourseEditorTreeModel treeModel = course.getEditorTreeModel();
    elementKeys = new ArrayList<>();
    elementNames = new ArrayList<>();
    String elements = assessmentMode.getElementList();
    if (StringHelper.containsNonWhitespace(elements)) {
        for (String element : elements.split(",")) {
            String courseNodeName = getCourseNodeName(element, treeModel);
            if (StringHelper.containsNonWhitespace(courseNodeName)) {
                elementKeys.add(element);
                elementNames.add(courseNodeName);
            }
        }
    }
    chooseElementsCont.getFormItemComponent().contextPut("elementNames", elementNames);
    chooseElementsButton = uifactory.addFormLink("choose.elements", chooseElementsCont, Link.BUTTON);
    chooseElementsButton.setEnabled(status != Status.end);
    startElementKey = assessmentMode.getStartElement();
    String startElementName = "";
    if (StringHelper.containsNonWhitespace(startElementKey)) {
        startElementName = getCourseNodeName(startElementKey, treeModel);
    }
    startElementEl = uifactory.addStaticTextElement("mode.start.element", "mode.start.element", startElementName, formLayout);
    chooseStartElementButton = uifactory.addFormLink("choose.start.element", formLayout, Link.BUTTON);
    chooseStartElementButton.setEnabled(status != Status.end);
    // ips
    ipsEl = uifactory.addCheckboxesHorizontal("ips", "mode.ips", formLayout, onKeys, onValues);
    ipsEl.select(onKeys[0], assessmentMode.isRestrictAccessIps());
    ipsEl.addActionListener(FormEvent.ONCHANGE);
    ipsEl.setEnabled(status != Status.end);
    String ipList = assessmentMode.getIpList();
    ipListEl = uifactory.addTextAreaElement("mode.ips.list", "mode.ips.list", 4096, 4, 60, false, ipList, formLayout);
    ipListEl.setVisible(assessmentMode.isRestrictAccessIps());
    ipListEl.setEnabled(status != Status.end);
    safeExamBrowserEl = uifactory.addCheckboxesHorizontal("safeexam", "mode.safeexambrowser", formLayout, onKeys, onValues);
    safeExamBrowserEl.select(onKeys[0], assessmentMode.isSafeExamBrowser());
    safeExamBrowserEl.addActionListener(FormEvent.ONCHANGE);
    safeExamBrowserEl.setEnabled(status != Status.end);
    String key = assessmentMode.getSafeExamBrowserKey();
    safeExamBrowserKeyEl = uifactory.addTextAreaElement("safeexamkey", "mode.safeexambrowser.key", 4096, 6, 60, false, key, formLayout);
    safeExamBrowserKeyEl.setVisible(assessmentMode.isSafeExamBrowser());
    safeExamBrowserKeyEl.setEnabled(status != Status.end);
    String hint = assessmentMode.getSafeExamBrowserHint();
    safeExamBrowserHintEl = uifactory.addRichTextElementForStringData("safeexamhint", "mode.safeexambrowser.hint", hint, 10, -1, false, null, null, formLayout, ureq.getUserSession(), getWindowControl());
    safeExamBrowserHintEl.setVisible(assessmentMode.isSafeExamBrowser());
    safeExamBrowserHintEl.setEnabled(status != Status.end);
    forCoachEl = uifactory.addCheckboxesHorizontal("forcoach", "mode.for.coach", formLayout, onKeys, onValues);
    forCoachEl.select(onKeys[0], assessmentMode.isApplySettingsForCoach());
    forCoachEl.setEnabled(status != Status.end);
    FormLayoutContainer buttonCont = FormLayoutContainer.createButtonLayout("button", getTranslator());
    formLayout.add(buttonCont);
    if (status != Status.end) {
        uifactory.addFormSubmitButton("save", buttonCont);
    }
    uifactory.addFormCancelButton("cancel", buttonCont, ureq, getWindowControl());
}
Also used : Status(org.olat.course.assessment.AssessmentMode.Status) CourseEditorTreeModel(org.olat.course.tree.CourseEditorTreeModel) BusinessGroup(org.olat.group.BusinessGroup) AssessmentModeToGroup(org.olat.course.assessment.AssessmentModeToGroup) FormLayoutContainer(org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer) ICourse(org.olat.course.ICourse) AssessmentModeToArea(org.olat.course.assessment.AssessmentModeToArea) Target(org.olat.course.assessment.AssessmentMode.Target) BGArea(org.olat.group.area.BGArea) CourseNode(org.olat.course.nodes.CourseNode)

Example 10 with Status

use of org.olat.course.assessment.AssessmentMode.Status in project openolat by klemens.

the class AssessmentModeEditController method formOK.

@Override
protected void formOK(UserRequest ureq) {
    Date begin = beginEl.getDate();
    Date end = endEl.getDate();
    int followupTime = followupTimeEl.getIntValue();
    int leadTime = leadTimeEl.getIntValue();
    Status currentStatus = assessmentMode.getStatus();
    if (startModeEl.isOneSelected() && startModeEl.isSelected(1)) {
        // manual start don't change the status of the assessment
        save(ureq, false);
    } else {
        Status nextStatus = modeCoordinationService.evaluateStatus(begin, leadTime, end, followupTime);
        if (currentStatus == nextStatus) {
            save(ureq, true);
        } else {
            String title = translate("confirm.status.change.title");
            String text;
            switch(nextStatus) {
                case none:
                    text = translate("confirm.status.change.none");
                    break;
                case leadtime:
                    text = translate("confirm.status.change.leadtime");
                    break;
                case assessment:
                    text = translate("confirm.status.change.assessment");
                    break;
                case followup:
                    text = translate("confirm.status.change.followup");
                    break;
                case end:
                    text = translate("confirm.status.change.end");
                    break;
                default:
                    text = "ERROR";
            }
            confirmCtrl = activateOkCancelDialog(ureq, title, text, confirmCtrl);
        }
    }
}
Also used : Status(org.olat.course.assessment.AssessmentMode.Status) Date(java.util.Date)

Aggregations

Status (org.olat.course.assessment.AssessmentMode.Status)22 Date (java.util.Date)4 ICourse (org.olat.course.ICourse)4 EnhancedStatus (org.olat.course.assessment.model.EnhancedStatus)4 CourseNode (org.olat.course.nodes.CourseNode)4 ArrayList (java.util.ArrayList)2 Calendar (java.util.Calendar)2 List (java.util.List)2 FormLayoutContainer (org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer)2 CorruptedCourseException (org.olat.course.CorruptedCourseException)2 AssessmentMode (org.olat.course.assessment.AssessmentMode)2 Target (org.olat.course.assessment.AssessmentMode.Target)2 AssessmentModeToArea (org.olat.course.assessment.AssessmentModeToArea)2 AssessmentModeToGroup (org.olat.course.assessment.AssessmentModeToGroup)2 CoordinatedAssessmentMode (org.olat.course.assessment.model.CoordinatedAssessmentMode)2 TransientAssessmentMode (org.olat.course.assessment.model.TransientAssessmentMode)2 CourseEditorTreeModel (org.olat.course.tree.CourseEditorTreeModel)2 BusinessGroup (org.olat.group.BusinessGroup)2 BGArea (org.olat.group.area.BGArea)2