diff --git a/src/main/java/org/olat/course/nodeaccess/ui/NodeAccessSettingsController.java b/src/main/java/org/olat/course/nodeaccess/ui/NodeAccessSettingsController.java index 4ef052676fd24277f5f21b2095998fa0596e078b..d453b0daef16e12ef342fac638ebf0385188553a 100644 --- a/src/main/java/org/olat/course/nodeaccess/ui/NodeAccessSettingsController.java +++ b/src/main/java/org/olat/course/nodeaccess/ui/NodeAccessSettingsController.java @@ -202,19 +202,6 @@ public class NodeAccessSettingsController extends FormBasicController { boolean changedToDurationType = CompletionType.duration.equals(completionType) && !CompletionType.duration.equals(courseConfig.getCompletionType()); - if (changedToDurationType) { - doConfirmCompletionTypeDuration(ureq); - } else { - if(CourseFactory.isCourseEditSessionOpen(courseEntry.getOlatResource().getResourceableId())) { - showWarning("error.course.locked"); - initCompletionTypeFromConfig(); - return; - } - saveCompletionTypeAndCloseEditSession(completionType); - } - } - - private void doConfirmCompletionTypeDuration(UserRequest ureq) { OLATResourceable courseOres = courseEntry.getOlatResource(); if(CourseFactory.isCourseEditSessionOpen(courseOres.getResourceableId())) { showWarning("error.course.locked"); @@ -223,6 +210,14 @@ public class NodeAccessSettingsController extends FormBasicController { } CourseFactory.openCourseEditSession(courseOres.getResourceableId()); + if (changedToDurationType) { + doConfirmCompletionTypeDuration(ureq); + } else { + saveCompletionTypeAndCloseEditSession(completionType); + } + } + + private void doConfirmCompletionTypeDuration(UserRequest ureq) { durationConfirmationCtrl = new DurationConfirmationController(ureq, getWindowControl()); listenTo(durationConfirmationCtrl); @@ -232,7 +227,6 @@ public class NodeAccessSettingsController extends FormBasicController { listenTo(cmc); } - private void doSetCompletionTypeDuration(Integer duration) { ICourse course = CourseFactory.loadCourse(courseEntry); @@ -267,6 +261,7 @@ public class NodeAccessSettingsController extends FormBasicController { courseConfig.setCompletionType(completionType); logActivity(completionType); } + CourseFactory.setCourseConfig(courseEntry.getOlatResource().getResourceableId(), courseConfig); CourseFactory.closeCourseEditSession(courseEntry.getOlatResource().getResourceableId(), false); }