From 083099158e98365e55c109b540f752a4f7742973 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Fri, 5 Feb 2021 07:34:02 +0100
Subject: [PATCH] OO-5275: add comment to user in checklist Excel export

---
 .../course/nodes/cl/ui/CheckListExcelExport.java    | 13 +++++++++++++
 .../nodes/cl/ui/_i18n/LocalStrings_de.properties    |  1 +
 .../nodes/cl/ui/_i18n/LocalStrings_en.properties    |  1 +
 .../nodes/cl/ui/_i18n/LocalStrings_fr.properties    |  1 +
 4 files changed, 16 insertions(+)

diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListExcelExport.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListExcelExport.java
index 838335d5d8a..f946e509db3 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListExcelExport.java
+++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListExcelExport.java
@@ -78,6 +78,7 @@ public class CheckListExcelExport {
 	private final CheckListCourseNode courseNode;
 	private final boolean hasScore;
 	private final boolean hasPassed;
+	private final boolean hasComment;
 	private final List<UserPropertyHandler> userPropertyHandlers;
 	
 	private final UserManager userManager;
@@ -91,6 +92,7 @@ public class CheckListExcelExport {
 		AssessmentConfig assessmentConfig = courseAssessmentService.getAssessmentConfig(courseNode);
 		this.hasScore = Mode.none != assessmentConfig.getScoreMode();
 		this.hasPassed = Mode.none != assessmentConfig.getPassedMode();
+		this.hasComment = assessmentConfig.hasComment();
 		
 		userManager = CoreSpringFactory.getImpl(UserManager.class);
 		checkboxManager = CoreSpringFactory.getImpl(CheckboxManager.class);
@@ -150,6 +152,9 @@ public class CheckListExcelExport {
 		if(hasPassed) {
 			header2Row.addCell(col++, translator.translate("column.header.node.passed"), headerStyle);
 		}
+		if(hasComment) {
+			header2Row.addCell(col++, translator.translate("column.header.usercomment"), headerStyle);
+		}
 
 		ModuleConfiguration config = courseNode.getModuleConfiguration();
 		CheckboxList list = (CheckboxList)config.get(CheckListCourseNode.CONFIG_KEY_CHECKBOX);
@@ -214,6 +219,14 @@ public class CheckListExcelExport {
 				col++;
 			}
 		}
+
+		if(hasComment) {
+			if(entry != null) {
+				dataRow.addCell(col++, entry.getComment(), null);
+			} else {
+				col++;
+			}
+		}
 		
 		ModuleConfiguration config = courseNode.getModuleConfiguration();
 		CheckboxList list = (CheckboxList)config.get(CheckListCourseNode.CONFIG_KEY_CHECKBOX);
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_de.properties
index a9b49dc9f7b..3ff4361f49d 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_de.properties
@@ -21,6 +21,7 @@ column.header.homepage=Homepage
 column.header.node.passed=Kursbaustein bestanden
 column.header.node.points=Kursbaustein Punkte
 column.header.points=$\:box.points
+column.header.usercomment=Kommentar f\u00FCr Benutzer
 comment.nocomment=$org.olat.course.nodes.ms\:comment.nocomment
 comment.title=$org.olat.course.nodes.ms\:comment.title
 config.checkbox.description=W\u00e4hlen Sie "$\:add.checkbox" um eine neue Checkbox zu erzeugen oder "$org.olat.core\:edit" um eine bestehende Checkbox zu ver\u00e4ndern.
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_en.properties
index 90f8e83a2f6..cdc96b54877 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_en.properties
@@ -21,6 +21,7 @@ column.header.node.passed=Passed course element
 column.header.node.points=Score course element
 column.header.points=$\:box.points
 column.header.seqnum=Sequence number
+column.header.usercomment=Comments for users
 comment.nocomment=$org.olat.course.nodes.ms\:comment.nocomment
 comment.title=$org.olat.course.nodes.ms\:comment.title
 config.checkbox.description=Click "$\:add.checkbox" to create a new checkbox or select "$org.olat.core\:edit" to configure an existing checkbox.
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_fr.properties
index fe675148d8a..80c1fc87bd2 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_fr.properties
@@ -21,6 +21,7 @@ column.header.node.passed=\u00C9l\u00E9ment de cours r\u00E9ussi
 column.header.node.points=Points \u00E9l\u00E9ment de cours
 column.header.points=$\:box.points
 column.header.seqnum=Num\u00E9ro
+column.header.usercomment=Commentaires pour l'utilisateur
 comment.nocomment=$org.olat.course.nodes.ms\:comment.nocomment
 comment.title=$org.olat.course.nodes.ms\:comment.title
 config.checkbox.description=Clicuez "$\:add.checkbox" pour cr\u00E9er une nouvelle case \u00E0 cocher ou s\u00E9lectionnez "$org.olat.core\:edit" pour configurer une case \u00E0 cocher existante.
-- 
GitLab