diff --git a/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java b/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java index bd13f235dc46eea076a757efd82d3c2376a50df0..6e9e87685bfec0a435237578176834ca6d9251fc 100644 --- a/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java +++ b/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java @@ -21,7 +21,6 @@ package org.olat.course.nodes.iq; import java.io.File; import java.net.URI; -import java.text.DateFormat; import java.util.Date; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; @@ -250,10 +249,10 @@ public class QTI21AssessmentRunController extends BasicController implements Gen } else if(showResultsOnHomePage) { Date startDate = config.getDateValue(IQEditController.CONFIG_KEY_RESULTS_START_DATE); Date endDate = config.getDateValue(IQEditController.CONFIG_KEY_RESULTS_END_DATE); - String visibilityStartDate = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, ureq.getLocale()).format(startDate); + String visibilityStartDate = Formatter.getInstance(getLocale()).formatDate(startDate); String visibilityEndDate = "-"; if(endDate != null) { - visibilityEndDate = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, ureq.getLocale()).format(endDate); + visibilityEndDate = Formatter.getInstance(getLocale()).formatDate(endDate); } String visibilityPeriod = getTranslator().translate("showResults.visibility", new String[] { visibilityStartDate, visibilityEndDate}); mainVC.contextPut("visibilityPeriod", visibilityPeriod); @@ -272,9 +271,13 @@ public class QTI21AssessmentRunController extends BasicController implements Gen if(showResultsActive) { Date startDate = modConfig.getDateValue(IQEditController.CONFIG_KEY_RESULTS_START_DATE); Date endDate = modConfig.getDateValue(IQEditController.CONFIG_KEY_RESULTS_END_DATE); - Date currentDate = new Date(); - if(startDate != null && currentDate.after(startDate) && (endDate == null || currentDate.before(endDate))) { + if(startDate == null && endDate == null) { isVisible = true; + } else { + Date currentDate = new Date(); + if(startDate != null && currentDate.after(startDate) && (endDate == null || currentDate.before(endDate))) { + isVisible = true; + } } } else { isVisible = true; diff --git a/src/main/java/org/olat/course/nodes/iq/QTI21EditForm.java b/src/main/java/org/olat/course/nodes/iq/QTI21EditForm.java index 151d41684164f2e0bdf6f89a304d19329b3a78b8..aec7a1df2e7d424987c45c8cf81d54f2c9be096a 100644 --- a/src/main/java/org/olat/course/nodes/iq/QTI21EditForm.java +++ b/src/main/java/org/olat/course/nodes/iq/QTI21EditForm.java @@ -259,6 +259,14 @@ public class QTI21EditForm extends FormBasicController { allOk &= false; } } + + startDateElement.clearError(); + if(showResultsDateDependentButton.isSelected(0)) { + if(startDateElement.getDate() == null) { + startDateElement.setErrorKey("form.legende.mandatory", null); + allOk &= false; + } + } return allOk & super.validateFormLogic(ureq); } @@ -318,8 +326,10 @@ public class QTI21EditForm extends FormBasicController { modConfig.setBooleanEntry(IQEditController.CONFIG_KEY_ENABLESCOREINFO, scoreInfo.isSelected(0)); modConfig.setBooleanEntry(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS, showResultsDateDependentButton.isSelected(0)); + modConfig.setDateValue(IQEditController.CONFIG_KEY_RESULTS_START_DATE, startDateElement.getDate()); modConfig.setDateValue(IQEditController.CONFIG_KEY_RESULTS_END_DATE, endDateElement.getDate()); + modConfig.setBooleanEntry(IQEditController.CONFIG_KEY_RESULT_ON_HOME_PAGE, showResultsOnHomePage.isSelected(0)); if(showResultsOnFinishEl.isAtLeastSelected(1) || showResultsOnHomePage.isSelected(0)) {