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 eb99b566189f13ee69173cb7439ab2c706899ce9..60ea0bad9a2de48e7f2baa01ec6071c171802615 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 d67057f28473e83e7859079913c8439c4b8c5793..fb6a387644c9e2e06674cf2dbfb88580b9c2bcce 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 020801316e643e077a1384d49b75031345b46475..b76d609135240967c93e2c34c9b60646bce69b7d 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 b0df820696f1888ef71fe9684568ef03628c738c..6237a1b980dec7e66b5281a2bde54297158e4a53 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 ); + } + }