From d662ce34d19335409dcc6fa6b161e28585dc8133 Mon Sep 17 00:00:00 2001
From: uhensler <urs.hensler@frentix.com>
Date: Mon, 4 Nov 2019 08:51:08 +0100
Subject: [PATCH] OO-4338: Avoid RS is scale is not set in manual scoring
 course node

---
 src/main/java/org/olat/course/nodes/MSCourseNode.java         | 4 ++--
 .../org/olat/course/nodes/ms/MSResultDetailsController.java   | 3 ++-
 .../java/org/olat/course/nodes/ms/MSStatisticController.java  | 3 ++-
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/olat/course/nodes/MSCourseNode.java b/src/main/java/org/olat/course/nodes/MSCourseNode.java
index cd3fae93ef5..d19a01b1102 100644
--- a/src/main/java/org/olat/course/nodes/MSCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/MSCourseNode.java
@@ -380,7 +380,7 @@ public class MSCourseNode extends AbstractAccessableCourseNode implements Persis
 	private MinMax getMinMax() {
 		ModuleConfiguration config = getModuleConfiguration();
 		String scoreConfig = config.getStringValue(CONFIG_KEY_SCORE);
-		String scaleConfig = config.getStringValue(CONFIG_KEY_EVAL_FORM_SCALE);
+		String scaleConfig = config.getStringValue(CONFIG_KEY_EVAL_FORM_SCALE, CONFIG_DEFAULT_EVAL_FORM_SCALE);
 		
 		if (CONFIG_VALUE_SCORE_MANUAL.equals(scoreConfig)) {
 			Float min = (Float) config.get(CONFIG_KEY_SCORE_MIN);
@@ -633,7 +633,7 @@ public class MSCourseNode extends AbstractAccessableCourseNode implements Persis
 		Float score = null;
 		ModuleConfiguration config = getModuleConfiguration();
 		String scoreConfig = config.getStringValue(CONFIG_KEY_SCORE);
-		String scaleConfig = config.getStringValue(CONFIG_KEY_EVAL_FORM_SCALE);
+		String scaleConfig = config.getStringValue(CONFIG_KEY_EVAL_FORM_SCALE, CONFIG_DEFAULT_EVAL_FORM_SCALE);
 		float scale = Float.parseFloat(scaleConfig);
 		if (CONFIG_VALUE_SCORE_EVAL_FORM_AVG.equals(scoreConfig)) {
 			score = msService.calculateScoreByAvg(session);
diff --git a/src/main/java/org/olat/course/nodes/ms/MSResultDetailsController.java b/src/main/java/org/olat/course/nodes/ms/MSResultDetailsController.java
index 871d4ead9c0..ecd43bb2f52 100644
--- a/src/main/java/org/olat/course/nodes/ms/MSResultDetailsController.java
+++ b/src/main/java/org/olat/course/nodes/ms/MSResultDetailsController.java
@@ -81,7 +81,8 @@ public class MSResultDetailsController extends BasicController {
 		boolean pointsFromEvaluationForm = MSCourseNode.CONFIG_VALUE_SCORE_EVAL_FORM_SUM.equals(scoreConfig)
 				|| MSCourseNode.CONFIG_VALUE_SCORE_EVAL_FORM_AVG.equals(scoreConfig);
 		if (pointsFromEvaluationForm) {
-			String scaleConfig = config.getStringValue(MSCourseNode.CONFIG_KEY_EVAL_FORM_SCALE);
+			String scaleConfig = config.getStringValue(MSCourseNode.CONFIG_KEY_EVAL_FORM_SCALE,
+					MSCourseNode.CONFIG_DEFAULT_EVAL_FORM_SCALE);
 			float scale = Float.parseFloat(scaleConfig);
 
 			List<RubricStatistic> statistics = msService.getRubricStatistics(session);
diff --git a/src/main/java/org/olat/course/nodes/ms/MSStatisticController.java b/src/main/java/org/olat/course/nodes/ms/MSStatisticController.java
index b36c40e51d8..1e01c8f9fba 100644
--- a/src/main/java/org/olat/course/nodes/ms/MSStatisticController.java
+++ b/src/main/java/org/olat/course/nodes/ms/MSStatisticController.java
@@ -116,7 +116,8 @@ public class MSStatisticController extends FormBasicController {
 		ModuleConfiguration config = courseNode.getModuleConfiguration();
 		String scoreConfig = config.getStringValue(MSCourseNode.CONFIG_KEY_SCORE);
 		this.sum = MSCourseNode.CONFIG_VALUE_SCORE_EVAL_FORM_SUM.equals(scoreConfig);
-		String scaleConfig = config.getStringValue(MSCourseNode.CONFIG_KEY_EVAL_FORM_SCALE);
+		String scaleConfig = config.getStringValue(MSCourseNode.CONFIG_KEY_EVAL_FORM_SCALE,
+				MSCourseNode.CONFIG_DEFAULT_EVAL_FORM_SCALE);
 		this.scale = Float.parseFloat(scaleConfig);
 		
 		isAdministrativeUser = securityModule.isUserAllowedAdminProps(ureq.getUserSession().getRoles());
-- 
GitLab