From 9ab76eb04a97a4539d703321059ed5f099516af0 Mon Sep 17 00:00:00 2001 From: uhensler <urs.hensler@frentix.com> Date: Fri, 24 Jan 2020 08:01:20 +0100 Subject: [PATCH] OO-4206: RS when save configuration without duration --- .../model/ModuleLearningPathConfigs.java | 18 +++++++++++++++--- .../ui/LearningPathNodeConfigController.java | 4 +++- .../ui/_i18n/LocalStrings_de.properties | 2 +- .../nodes/gta/GTALearningPathConfigs.java | 6 ++++++ 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/olat/course/learningpath/model/ModuleLearningPathConfigs.java b/src/main/java/org/olat/course/learningpath/model/ModuleLearningPathConfigs.java index eb99b566189..60ea0bad9a2 100644 --- a/src/main/java/org/olat/course/learningpath/model/ModuleLearningPathConfigs.java +++ b/src/main/java/org/olat/course/learningpath/model/ModuleLearningPathConfigs.java @@ -65,7 +65,11 @@ public class ModuleLearningPathConfigs implements LearningPathConfigs { @Override public void setDuration(Integer duration) { - moduleConfiguration.setStringValue(CONFIG_KEY_DURATION, duration.toString()); + if (duration != null) { + moduleConfiguration.setStringValue(CONFIG_KEY_DURATION, duration.toString()); + } else { + moduleConfiguration.remove(CONFIG_KEY_DURATION); + } } private Integer integerOrNull(String value) { @@ -89,7 +93,11 @@ public class ModuleLearningPathConfigs implements LearningPathConfigs { @Override public void setObligation(AssessmentObligation obligation) { - moduleConfiguration.setStringValue(CONFIG_KEY_OBLIGATION, obligation.name()); + if (obligation != null) { + moduleConfiguration.setStringValue(CONFIG_KEY_OBLIGATION, obligation.name()); + } else { + moduleConfiguration.remove(CONFIG_KEY_OBLIGATION); + } } @Override @@ -114,7 +122,11 @@ public class ModuleLearningPathConfigs implements LearningPathConfigs { @Override public void setFullyAssessedTrigger(FullyAssessedTrigger trigger) { - moduleConfiguration.setStringValue(CONFIG_KEY_TRIGGER, trigger.name()); + if (trigger != null) { + moduleConfiguration.setStringValue(CONFIG_KEY_TRIGGER, trigger.name()); + } else { + moduleConfiguration.remove(CONFIG_KEY_TRIGGER); + } } @Override diff --git a/src/main/java/org/olat/course/learningpath/ui/LearningPathNodeConfigController.java b/src/main/java/org/olat/course/learningpath/ui/LearningPathNodeConfigController.java index d67057f2847..fb6a387644c 100644 --- a/src/main/java/org/olat/course/learningpath/ui/LearningPathNodeConfigController.java +++ b/src/main/java/org/olat/course/learningpath/ui/LearningPathNodeConfigController.java @@ -220,7 +220,9 @@ public class LearningPathNodeConfigController extends FormBasicController { @Override protected void formOK(UserRequest ureq) { - Integer duration = Integer.valueOf(durationEl.getValue()); + Integer duration = StringHelper.containsNonWhitespace(durationEl.getValue()) + ? Integer.valueOf(durationEl.getValue()) + : null; learningPathConfigs.setDuration(duration); AssessmentObligation obligation = obligationEl.isOneSelected() diff --git a/src/main/java/org/olat/course/learningpath/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/learningpath/ui/_i18n/LocalStrings_de.properties index 020801316e6..b76d6091352 100644 --- a/src/main/java/org/olat/course/learningpath/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/course/learningpath/ui/_i18n/LocalStrings_de.properties @@ -29,7 +29,7 @@ identity.list.course=im Kurs {0} identity.list.title=Lernpfad my.list.course=im Kurs {0} my.list.title=Mein Lernpfad -no.configurations=In diesen Kursbaustein stehen keine Konfigurationen zum Lernpfad zu Verf\u00FCgung. +no.configurations=In diesem Kursbaustein stehen keine Konfigurationen zum Lernpfad zur Verf\u00FCgung. pane.tab.learning.path=Lernpfad passed.false=$org.olat.course.assessment\:passed.false passed.true=$org.olat.course.assessment\:passed.true diff --git a/src/main/java/org/olat/course/nodes/gta/GTALearningPathConfigs.java b/src/main/java/org/olat/course/nodes/gta/GTALearningPathConfigs.java index b0df820696f..6237a1b980d 100644 --- a/src/main/java/org/olat/course/nodes/gta/GTALearningPathConfigs.java +++ b/src/main/java/org/olat/course/nodes/gta/GTALearningPathConfigs.java @@ -43,4 +43,10 @@ public class GTALearningPathConfigs extends ModuleLearningPathConfigs { : AssessmentObligation.mandatory; } + @Override + public void setObligation(AssessmentObligation obligation) { + boolean valuea = obligation != null && AssessmentObligation.optional.equals(obligation); + moduleConfiguration.setBooleanEntry(MSCourseNode.CONFIG_KEY_OPTIONAL, valuea ); + } + } -- GitLab