From 368f7f24176857f835ab62252ff3ce412481cbea Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Mon, 22 Aug 2016 15:17:11 +0200
Subject: [PATCH] OO-2058: backport of the fix

---
 .../assessment/manager/CourseAssessmentManagerImpl.java  | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java b/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java
index b969cab1424..b65a7e1d520 100644
--- a/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java
+++ b/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java
@@ -319,14 +319,17 @@ public class CourseAssessmentManagerImpl implements AssessmentManager {
 			efficiencyStatementManager.updateUserEfficiencyStatement(assessedIdentity, courseEnv, data, cgm.getCourseEntry());
 		}
 
-		if(passed != null && passed.booleanValue() && course.getCourseConfig().isAutomaticCertificationEnabled()) {
-			if(certificatesManager.isCertificationAllowed(assessedIdentity, cgm.getCourseEntry())) {
+		if(course.getCourseConfig().isAutomaticCertificationEnabled()) {
+			CourseNode rootNode = userCourseEnv.getCourseEnvironment().getRunStructure().getRootNode();
+			ScoreEvaluation rootEval = scoreAccounting.evalCourseNode((AssessableCourseNode)rootNode);
+			if(rootEval != null && rootEval.getPassed() != null && rootEval.getPassed().booleanValue()
+					&& certificatesManager.isCertificationAllowed(assessedIdentity, cgm.getCourseEntry())) {
 				CertificateTemplate template = null;
 				Long templateId = course.getCourseConfig().getCertificateTemplate();
 				if(templateId != null) {
 					template = certificatesManager.getTemplateById(templateId);
 				}
-				CertificateInfos certificateInfos = new CertificateInfos(assessedIdentity, score, passed);
+				CertificateInfos certificateInfos = new CertificateInfos(assessedIdentity, rootEval.getScore(), rootEval.getPassed());
 				certificatesManager.generateCertificate(certificateInfos, cgm.getCourseEntry(), template, true);
 			}
 		}
-- 
GitLab