Skip to content
Snippets Groups Projects
Commit 85d9c6fa authored by uhensler's avatar uhensler
Browse files

OO-5161: RS if assessment period has no end

parent c125109b
No related branches found
No related tags found
No related merge requests found
...@@ -210,6 +210,7 @@ public class QTI21EditForm extends FormBasicController { ...@@ -210,6 +210,7 @@ public class QTI21EditForm extends FormBasicController {
endTestDateElement = uifactory.addDateChooser("qti_form_end_test_date", "qti.form.date.end", endTestDate, formLayout); endTestDateElement = uifactory.addDateChooser("qti_form_end_test_date", "qti.form.date.end", endTestDate, formLayout);
endTestDateElement.setElementCssClass("o_qti_21_datetest_end"); endTestDateElement.setElementCssClass("o_qti_21_datetest_end");
endTestDateElement.setDateChooserTimeEnabled(true); endTestDateElement.setDateChooserTimeEnabled(true);
endTestDateElement.setMandatory(wizard);
} }
protected void initFormCorrection(FormItemContainer formLayout) { protected void initFormCorrection(FormItemContainer formLayout) {
...@@ -375,6 +376,11 @@ public class QTI21EditForm extends FormBasicController { ...@@ -375,6 +376,11 @@ public class QTI21EditForm extends FormBasicController {
allOk &= false; allOk &= false;
} }
} }
endTestDateElement.clearError();
if (wizard && testDateDependentEl.isSelected(0) && endTestDateElement.getDate() == null) {
endTestDateElement.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
generalStartDateElement.clearError(); generalStartDateElement.clearError();
......
...@@ -224,18 +224,16 @@ public class CourseWizardServiceImpl implements CourseWizardService { ...@@ -224,18 +224,16 @@ public class CourseWizardServiceImpl implements CourseWizardService {
} }
// Assessment mode // Assessment mode
if (moduleConfig.getBooleanSafe(IQEditController.CONFIG_KEY_DATE_DEPENDENT_TEST)) { if (moduleConfig.getBooleanSafe(IQEditController.CONFIG_KEY_DATE_DEPENDENT_TEST)
&& moduleConfig.has(IQEditController.CONFIG_KEY_START_TEST_DATE)
&& moduleConfig.has(IQEditController.CONFIG_KEY_END_TEST_DATE)) {
RepositoryEntry courseEntry = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry(); RepositoryEntry courseEntry = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
AssessmentMode assessmentMode = assessmentModeManager.createAssessmentMode(courseEntry); AssessmentMode assessmentMode = assessmentModeManager.createAssessmentMode(courseEntry);
assessmentMode.setName(defaults.getShortTitle()); assessmentMode.setName(defaults.getShortTitle());
if (moduleConfig.has(IQEditController.CONFIG_KEY_START_TEST_DATE)) { Date start = moduleConfig.getDateValue(IQEditController.CONFIG_KEY_START_TEST_DATE);
Date start = moduleConfig.getDateValue(IQEditController.CONFIG_KEY_START_TEST_DATE); assessmentMode.setBegin(start);
assessmentMode.setBegin(start); Date end = moduleConfig.getDateValue(IQEditController.CONFIG_KEY_END_TEST_DATE);
} assessmentMode.setEnd(end);
if (moduleConfig.has(IQEditController.CONFIG_KEY_END_TEST_DATE)) {
Date end = moduleConfig.getDateValue(IQEditController.CONFIG_KEY_END_TEST_DATE);
assessmentMode.setEnd(end);
}
assessmentModeManager.merge(assessmentMode, false); assessmentModeManager.merge(assessmentMode, false);
} }
} }
......
...@@ -257,5 +257,25 @@ public class CourseWizardServiceTest extends OlatTestCase { ...@@ -257,5 +257,25 @@ public class CourseWizardServiceTest extends OlatTestCase {
List<AssessmentMode> assessmentModes = assessmentModeManager.getAssessmentModeFor(entry); List<AssessmentMode> assessmentModes = assessmentModeManager.getAssessmentModeFor(entry);
assertThat(assessmentModes).isEmpty(); assertThat(assessmentModes).isEmpty();
} }
@Test
public void shouldNotCreateAssessmentModeForTestIfNoEndDate() {
RepositoryEntry entry = JunitTestHelper.deployEmptyCourse(author, random(), RepositoryEntryStatusEnum.published, false, false);
dbInstance.commitAndCloseSession();
IQTESTCourseNodeDefaults defaults = new IQTESTCourseNodeDefaults();
defaults.setShortTitle(random());
ModuleConfiguration defaultModuleConfig = new ModuleConfiguration();
defaultModuleConfig.setBooleanEntry(IQEditController.CONFIG_KEY_DATE_DEPENDENT_TEST, true);
Date start = new GregorianCalendar(2020, 12, 10, 10, 0, 0).getTime();
defaultModuleConfig.setDateValue(IQEditController.CONFIG_KEY_START_TEST_DATE, start);
defaults.setModuleConfig(defaultModuleConfig);
ICourse course = sut.startCourseEditSession(entry);
sut.createIQTESTCourseNode(course, defaults);
sut.finishCourseEditSession(course);
List<AssessmentMode> assessmentModes = assessmentModeManager.getAssessmentModeFor(entry);
assertThat(assessmentModes).isEmpty();
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment