From 9fa0f6c27c011668a38ce2ae5e3cec100b574510 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Mon, 18 Feb 2019 09:05:47 +0100
Subject: [PATCH] OO-3864: wording, fix collapse strange behavior

---
 .../ui/ParticipantLecturesOverviewController.java        | 9 +++++++--
 .../lecture/ui/_content/participant_overview.html        | 5 ++++-
 .../lecture/ui/_content/participant_overview_table.html  | 8 +++++---
 .../modules/lecture/ui/_i18n/LocalStrings_de.properties  | 3 ++-
 .../modules/lecture/ui/_i18n/LocalStrings_en.properties  | 3 ++-
 5 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/olat/modules/lecture/ui/ParticipantLecturesOverviewController.java b/src/main/java/org/olat/modules/lecture/ui/ParticipantLecturesOverviewController.java
index ef40741cec6..a150ccdd762 100644
--- a/src/main/java/org/olat/modules/lecture/ui/ParticipantLecturesOverviewController.java
+++ b/src/main/java/org/olat/modules/lecture/ui/ParticipantLecturesOverviewController.java
@@ -209,7 +209,8 @@ public class ParticipantLecturesOverviewController extends FormBasicController i
 				layoutCont.setRootForm(mainForm);
 				layoutCont.contextPut("elementDisplayName", aggregatedElement.getCurriculumElementView().getCurriculumElement().getDisplayName());
 				layoutCont.contextPut("elementIdentifier", aggregatedElement.getCurriculumElementView().getCurriculumElement().getIdentifier());
-				layoutCont.contextPut("closed", !openAll && !aggregatedElement.isNow());
+				layoutCont.contextPut("opened", openAll || aggregatedElement.isNow());
+				layoutCont.contextPut("titleSize", "4");
 				aggregatedElement.setTable(initTable(ureq,  layoutCont));
 			}
 		}
@@ -222,13 +223,17 @@ public class ParticipantLecturesOverviewController extends FormBasicController i
 		if(!aggregatedElements.isEmpty()) {
 			genericLayoutCont.contextPut("elementDisplayName", translate("lectures.without.curriculum"));
 		}
-		genericLayoutCont.contextPut("closed", Boolean.FALSE);
+		genericLayoutCont.contextPut("opened", Boolean.TRUE);
+		genericLayoutCont.contextPut("titleSize", "3");
 		genericTable = initTable(ureq, genericLayoutCont);
 		
 		if(formLayout instanceof FormLayoutContainer) {
 			FormLayoutContainer layoutCont = (FormLayoutContainer)formLayout;
 			layoutCont.contextPut("authorizedAbsenceEnabled", authorizedAbsenceEnabled);
 			layoutCont.contextPut("aggregatedElements", containerIds);
+			if(!aggregatedElements.isEmpty()) {
+				layoutCont.contextPut("aggregatedElementsTitle", translate("lectures.with.curriculum"));
+			}
 		}
 	}
 	
diff --git a/src/main/java/org/olat/modules/lecture/ui/_content/participant_overview.html b/src/main/java/org/olat/modules/lecture/ui/_content/participant_overview.html
index c894b804b10..0bbdbb67714 100644
--- a/src/main/java/org/olat/modules/lecture/ui/_content/participant_overview.html
+++ b/src/main/java/org/olat/modules/lecture/ui/_content/participant_overview.html
@@ -5,7 +5,7 @@
 #if(($r.isNotNull($withPrint) && $withPrint) || $r.available("log"))
 	<div class="o_button_group o_button_group_right">
 	#if($r.isNotNull($withPrint) && $withPrint)
-		<script type="text/javascript">
+		<script>
 /* <![CDATA[ */ 
 function print() {
 	try {
@@ -25,6 +25,9 @@ function print() {
 	$r.contextHelpWithWrapper("Lectures - User view")
 	</div>
 #end
+#if($r.isNotEmpty($aggregatedElementsTitle))
+	<h3><i class="o_icon o_icon-fw o_icon_curriculum_element"> </i> $aggregatedElementsTitle</h3>
+#end
 #foreach($aggregatedElement in $aggregatedElements)
 	#if($r.visible($aggregatedElement))
 		$r.render($aggregatedElement)
diff --git a/src/main/java/org/olat/modules/lecture/ui/_content/participant_overview_table.html b/src/main/java/org/olat/modules/lecture/ui/_content/participant_overview_table.html
index e94acfee590..ed539254384 100644
--- a/src/main/java/org/olat/modules/lecture/ui/_content/participant_overview_table.html
+++ b/src/main/java/org/olat/modules/lecture/ui/_content/participant_overview_table.html
@@ -1,17 +1,19 @@
 #if($r.visible("table"))
 
 #if($r.isNotEmpty($elementDisplayName))
-<h3 onclick="jQuery('#collapse_${r.getCId()}').collapse('toggle')">
-	<i id="collapse_${r.getCId()}_toggler" class="o_icon o_icon-fw #if($closed) o_icon_open_togglebox #else o_icon_close_togglebox #end"> </i> $r.escapeHtml($elementDisplayName) #if($r.isNotEmpty($elementIdentifier))<small>$r.escapeHtml($elementIdentifier)</small>#end</h3>
+<h${titleSize} onclick="jQuery('#collapse_${r.getCId()}').collapse('toggle')">
+	<i id="collapse_${r.getCId()}_toggler" class="o_icon o_icon-fw #if($opened) o_icon_close_togglebox #else o_icon_open_togglebox #end"> </i> $r.escapeHtml($elementDisplayName) #if($r.isNotEmpty($elementIdentifier))<small>$r.escapeHtml($elementIdentifier)</small>#end</h${titleSize}>
 #end
-<div id="collapse_${r.getCId()}" class="#if($closed) collapse #end">$r.render("table")</div>
+<div id="collapse_${r.getCId()}" class="collapse #if($opened) in #end">$r.render("table")</div>
 <script>
 /* <![CDATA[ */
 jQuery(function() {
 	jQuery('#collapse_${r.getCId()}').on('hide.bs.collapse', function () {
+		console.log('hide');
 		jQuery('#collapse_${r.getCId()}_toggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
 	})
 	jQuery('#collapse_${r.getCId()}').on('show.bs.collapse', function () {
+		console.log('show');
 		jQuery('#collapse_${r.getCId()}_toggler').removeClass('o_icon_open_togglebox').addClass('o_icon_close_togglebox');
 	})
 });
diff --git a/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_de.properties
index c9a31936e7f..e85d5c88c9a 100644
--- a/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_de.properties
@@ -160,7 +160,8 @@ lectures.table.closed=Abgeschlossene Lektionenbl\u00F6cke
 lectures.table.current=Aktueller Lektionenblock
 lectures.table.next=N\u00E4chste Lektionenbl\u00F6cke
 lectures.table.pending=Pendente Lektionenbl\u00F6cke
-lectures.without.curriculum=Ausserhalb ein Curriculum
+lectures.with.curriculum=Absenzen innerhalb eines Curriculums
+lectures.without.curriculum=Absenzen ausserhalb eines Curriculums
 log=Log
 log.add.admission.date=Erstzulassungsdatum hinzugef\u00FCgt: {0}
 log.add.rate=Schwellwert hinzugef\u00FCgt: {0}
diff --git a/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_en.properties
index b143423ffb2..20a70e97ed5 100644
--- a/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_en.properties
@@ -160,7 +160,8 @@ lectures.table.closed=Closed lecture blocks
 lectures.table.current=Current lecture block
 lectures.table.next=Next lecture blocks
 lectures.table.pending=Pending lecture blocks
-lectures.without.curriculum=Outside of a curriculum
+lectures.with.curriculum=Absences within a curriculum
+lectures.without.curriculum=Absences outside of a curriculum
 log=Log
 log.add.admission.date=Add admission date {0}
 log.add.rate=Add attendance rate {0}
-- 
GitLab