From 54d8de6f634e47e4474afdfbddfa98d67530e239 Mon Sep 17 00:00:00 2001 From: uhensler <urs.hensler@frentix.com> Date: Thu, 5 Mar 2020 13:54:14 +0100 Subject: [PATCH] OO-4207: Option to calculate the learning progress is not permanently persisted --- .../ui/NodeAccessSettingsController.java | 23 ++++++++----------- 1 file changed, 9 insertions(+), 14 deletions(-) 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 4ef052676fd..d453b0daef1 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); } -- GitLab