From 69a4901ce7ffec9c8c54dee7db11280466b420b9 Mon Sep 17 00:00:00 2001
From: uhensler <urs.hensler@frentix.com>
Date: Tue, 22 Oct 2019 15:51:32 +0200
Subject: [PATCH] OO-4207: Fix RS when publishing new course element

---
 .../java/org/olat/course/run/CourseRuntimeController.java | 1 +
 .../org/olat/course/run/scoring/AssessmentAccounting.java | 8 +++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/olat/course/run/CourseRuntimeController.java b/src/main/java/org/olat/course/run/CourseRuntimeController.java
index a18734e8254..47e0615b398 100644
--- a/src/main/java/org/olat/course/run/CourseRuntimeController.java
+++ b/src/main/java/org/olat/course/run/CourseRuntimeController.java
@@ -303,6 +303,7 @@ public class CourseRuntimeController extends RepositoryEntryRuntimeController im
 			} else {
 				uce.setCourseReadOnly(Boolean.FALSE);
 			}
+			uce.getScoreAccounting().evaluateAll(true);
 		}
 		
 		courseRightsCache = new HashMap<>();
diff --git a/src/main/java/org/olat/course/run/scoring/AssessmentAccounting.java b/src/main/java/org/olat/course/run/scoring/AssessmentAccounting.java
index 78bbeb40720..c0b17d34646 100644
--- a/src/main/java/org/olat/course/run/scoring/AssessmentAccounting.java
+++ b/src/main/java/org/olat/course/run/scoring/AssessmentAccounting.java
@@ -134,7 +134,13 @@ public class AssessmentAccounting implements ScoreAccounting {
 	private AssessmentEntry getOrCreateAssessmentEntry(CourseNode courseNode) {
 		AssessmentEntry entry = identToEntry.get(courseNode.getIdent());
 		if (entry == null) {
-			entry = getAssessmentManager().createAssessmentEntry(courseNode, getIdentity(), null);
+			entry = getAssessmentManager().getAssessmentEntry(courseNode, getIdentity());
+			if (entry == null) {
+				entry = getAssessmentManager().createAssessmentEntry(courseNode, getIdentity(), null);
+			}
+			identToEntry.put(entry.getSubIdent(), entry);
+			AssessmentEvaluation assessmentEvaluation = getAssessmentEvaluation(courseNode);
+			courseNodeToEval.put(courseNode, assessmentEvaluation);
 		}
 		return entry;
 	}
-- 
GitLab