Search in sources :

Example 11 with Status

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

the class AssessmentModeCoordinationServiceImpl method canStart.

@Override
public boolean canStart(AssessmentMode assessmentMode) {
    boolean canStart;
    Status status = assessmentMode.getStatus();
    if (status == Status.assessment || status == Status.followup || status == Status.end) {
        canStart = false;
    } else {
        canStart = true;
    }
    return canStart;
}
Also used : Status(org.olat.course.assessment.AssessmentMode.Status)

Example 12 with Status

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

the class AssessmentModeCoordinationServiceImpl method evaluateStatus.

@Override
public Status evaluateStatus(Date begin, int leadtime, Date end, int followup) {
    Status status;
    Date now = now();
    Date beginWithLeadTime = assessmentModeManager.evaluateLeadTime(begin, leadtime);
    Date endWithFollowupTime = assessmentModeManager.evaluateFollowupTime(end, followup);
    if (beginWithLeadTime.compareTo(now) > 0) {
        status = Status.none;
    } else if (beginWithLeadTime.compareTo(now) <= 0 && begin.compareTo(now) > 0 && !beginWithLeadTime.equals(begin)) {
        status = Status.leadtime;
    } else if (begin.compareTo(now) <= 0 && end.compareTo(now) > 0) {
        status = Status.assessment;
    } else if (end.compareTo(now) <= 0 && endWithFollowupTime.compareTo(now) > 0) {
        if (followup > 0) {
            status = Status.followup;
        } else {
            status = Status.end;
        }
    } else if (endWithFollowupTime.compareTo(now) <= 0) {
        status = Status.end;
    } else {
        status = null;
    }
    return status;
}
Also used : Status(org.olat.course.assessment.AssessmentMode.Status) Date(java.util.Date)

Example 13 with Status

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

the class AssessmentModeCoordinationServiceImpl method manageListenersOfCoordinatedMode.

private void manageListenersOfCoordinatedMode(AssessmentMode mode) {
    try {
        Status status = mode.getStatus();
        if (status == Status.leadtime || status == Status.assessment || status == Status.followup) {
            // add listeners
            CoordinatedAssessmentMode coordinateMode = coordinatedModes.get(mode.getKey());
            if (coordinateMode == null) {
                coordinateMode = new CoordinatedAssessmentMode(mode);
                coordinatedModes.put(mode.getKey(), coordinateMode);
            }
            coordinatorManager.getCoordinator().getEventBus().registerFor(this, null, coordinateMode.getListenerRes());
        } else if (coordinatedModes.containsKey(mode.getKey())) {
            CoordinatedAssessmentMode decoordinateMode = coordinatedModes.remove(mode.getKey());
            if (decoordinateMode != null) {
                coordinatorManager.getCoordinator().getEventBus().deregisterFor(this, decoordinateMode.getListenerRes());
            }
        }
    } catch (Exception e) {
        log.error("", e);
    }
}
Also used : Status(org.olat.course.assessment.AssessmentMode.Status) CoordinatedAssessmentMode(org.olat.course.assessment.model.CoordinatedAssessmentMode)

Example 14 with Status

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

the class ModeStatusCellRenderer method render.

@Override
public void render(Renderer renderer, StringOutput sb, Object cellValue, int row, FlexiTableComponent source, URLBuilder ubu, Translator translator) {
    if (cellValue instanceof Status) {
        Status status = (Status) cellValue;
        renderStatus(status, sb);
    } else if (cellValue instanceof EnhancedStatus) {
        EnhancedStatus enStatus = (EnhancedStatus) cellValue;
        renderWarning(enStatus.getWarnings(), sb);
        renderStatus(enStatus.getStatus(), sb);
    }
}
Also used : EnhancedStatus(org.olat.course.assessment.model.EnhancedStatus) Status(org.olat.course.assessment.AssessmentMode.Status) EnhancedStatus(org.olat.course.assessment.model.EnhancedStatus)

Example 15 with Status

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

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