use of org.olat.course.assessment.AssessmentMode.Target in project openolat by klemens.
the class AssessmentModeEditController method validateFormLogic.
@Override
protected boolean validateFormLogic(UserRequest ureq) {
boolean allOk = true;
nameEl.clearError();
if (StringHelper.containsNonWhitespace(nameEl.getValue())) {
// too long
} else {
nameEl.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
endEl.clearError();
beginEl.clearError();
if (beginEl.getDate() == null) {
beginEl.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
if (endEl.getDate() == null) {
endEl.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
if (beginEl.getDate() != null && endEl.getDate() != null) {
if (beginEl.getDate().compareTo(endEl.getDate()) >= 0) {
beginEl.setErrorKey("error.begin.after.end", null);
endEl.setErrorKey("error.begin.after.end", null);
allOk &= false;
}
}
courseElementsRestrictionEl.clearError();
if (courseElementsRestrictionEl.isAtLeastSelected(1)) {
if (elementKeys.isEmpty()) {
courseElementsRestrictionEl.setErrorKey("error.course.element.mandatory", null);
allOk &= false;
}
}
targetEl.clearError();
if (targetEl.isOneSelected()) {
Target target = AssessmentMode.Target.valueOf(targetEl.getSelectedKey());
if (target == Target.courseAndGroups || target == Target.groups) {
if (groupKeys.isEmpty() && areaKeys.isEmpty()) {
targetEl.setErrorKey("error.group.missing", null);
allOk &= false;
}
}
} else {
targetEl.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
safeExamBrowserKeyEl.clearError();
if (safeExamBrowserEl.isAtLeastSelected(1)) {
String value = safeExamBrowserKeyEl.getValue();
if (!StringHelper.containsNonWhitespace(value)) {
safeExamBrowserKeyEl.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
}
ipListEl.clearError();
if (ipsEl.isAtLeastSelected(1)) {
String value = ipListEl.getValue();
if (!StringHelper.containsNonWhitespace(value)) {
ipListEl.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
}
return allOk & super.validateFormLogic(ureq);
}
Aggregations