From 14db34f68f3d23b4903718aa6381e9ba3d97c04e Mon Sep 17 00:00:00 2001
From: gnaegi <none@none>
Date: Wed, 7 Aug 2013 12:14:22 +0200
Subject: [PATCH] OO-683 test, chelp and GUI improvements for semester dates

---
 .../table/AbstractFlexiTableRenderer.java     |  4 ++
 .../org/olat/repository/_chelp/lifecycle.html |  1 -
 .../olat/repository/_chelp/rep-meta-desc.html | 47 +++++++++++++++----
 .../_i18n/LocalStrings_de.properties          | 30 +++++++-----
 .../_i18n/LocalStrings_en.properties          | 17 +++++--
 .../repository/_spring/repositoryContext.xml  |  2 +-
 .../RepositoryEditDescriptionController.java  |  2 +-
 .../ui/_content/lifecycles_admin.html         | 21 ++++-----
 8 files changed, 86 insertions(+), 38 deletions(-)
 delete mode 100644 src/main/java/org/olat/repository/_chelp/lifecycle.html

diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
index 1007d22045e..cabcfc27aab 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
@@ -46,6 +46,10 @@ public abstract class AbstractFlexiTableRenderer implements ComponentRenderer {
 		FlexiTableComponent ftC = (FlexiTableComponent) source;
 		FlexiTableElementImpl ftE = ftC.getFlexiTableElement();
 
+		if (ftE.getRowCount() == 0) {
+			// don't print empty tables
+			return; 
+		}
 		
 		String id = ftC.getFormDispatchId();
 		sb.append("<div class=\"b_table_wrapper b_floatscrollbox\">");
diff --git a/src/main/java/org/olat/repository/_chelp/lifecycle.html b/src/main/java/org/olat/repository/_chelp/lifecycle.html
deleted file mode 100644
index abe35ee1379..00000000000
--- a/src/main/java/org/olat/repository/_chelp/lifecycle.html
+++ /dev/null
@@ -1 +0,0 @@
-$r.translate("chelp.lifecycle01")
\ No newline at end of file
diff --git a/src/main/java/org/olat/repository/_chelp/rep-meta-desc.html b/src/main/java/org/olat/repository/_chelp/rep-meta-desc.html
index 52c54782e22..9a264766f66 100644
--- a/src/main/java/org/olat/repository/_chelp/rep-meta-desc.html
+++ b/src/main/java/org/olat/repository/_chelp/rep-meta-desc.html
@@ -1,10 +1,41 @@
-<br/>
-$r.translate("chelp.rep02") <br/><br/> 
-
-	<b>$r.translate("cif.id"):</b> $r.translate("chelp.rep2"). $r.translate("chelp.rep2a") <br/><br/>
+<p>
+	$r.translate("chelp.rep02")
+	 <br/><br/> 
+</p>	
+<p>
+	<b>$r.translate("cif.id"):</b> $r.translate("chelp.rep2"). $r.translate("chelp.rep2a")
+</p>
+<p>
 	<b>$r.translate("cif.initialAuthor"):</b> $r.translate("chelp.rep4") $r.translate("chelp.rep23"). 
-		$r.translate("chelp.rep5") <br/><br/>
-	<b>$r.translate("cif.type"):</b> $r.translate("chelp.rep8") $r.translate("chelp.rep9") <br/><hr>
-	<b>$r.translate("cif.displayname"):</b> $r.translate("chelp.rep3") $r.translate("chelp.rep31") <br/><br/>
-	<b>$r.translate("cif.description"):</b> $r.translate("chelp.rep6") $r.translate("chelp.rep61") <br/><br/>
+		$r.translate("chelp.rep5")
+</p>
+<p>
+	<b>$r.translate("cif.type"):</b> $r.translate("chelp.rep8") $r.translate("chelp.rep9")
+</p>
+
+<hr />
+<p>
+	<b>$r.translate("cif.displayname"):</b> $r.translate("chelp.rep3") $r.translate("chelp.rep31")
+</p>
+<p>	
+	<b>$r.translate("cif.description"):</b> $r.translate("chelp.rep6") $r.translate("chelp.rep61")
+</p>
+
+<hr />
+<p>	
+	<b>$r.translate("cif.dates"):</b> $r.translate("chelp.lifecycle01")
+</p>
+<ul>
+	<li><em>$r.translate("cif.dates.none")</em>: $r.translate("chelp.lifecycle.none")</li>
+	<li><em>$r.translate("cif.dates.private")</em>: $r.translate("chelp.lifecycle.private")</li>
+	<li><em>$r.translate("cif.dates.public")</em>: $r.translate("chelp.lifecycle.public")</li>
+</ul>
+<p>
+	$r.translate("chelp.lifecycle02")
+	$r.translate("chelp.lifecycle03")
+</p>
+<hr />
+<p>	
+	<b>$r.translate("rentry.pic"):</b> $r.translate("chelp.pic") $r.translate("chelp.pic")
+</p>
 
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
index ce851d02d95..ceaaa5f8af6 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
@@ -96,7 +96,14 @@ chelp.rep-meta-olatauthor.title=Lernressource\: Allgemeine Informationen
 chelp.rep-meta-olatauthorEd.title=Lernressource\: Allgemeine Einstellungen
 chelp.rep-meta-picture.title=Lernressource\: Bild hinzuf\u00FCgen
 chelp.lifecycle.title=Lernressource\: Durchf\u00FChrungszeitraum
-chelp.lifecycle01=Eine kurze Hilfe \u00FCber Durchf\u00FChrungszeitraum
+chelp.lifecycle01=Bei Lernressourcen vom Typ "Kurs" kann ein \u00FCber Durchf\u00FChrungszeitraum festgelegt werden. Folgende Optionen sind möglich:
+chelp.lifecycle.none=Wählen Sie diese Option wenn der Kurs nicht zu einem bestimmten Daten beginn und aufhört. Diese Kurse gelten als permanent aktiv.  
+chelp.lifecycle.public=Wenn auf Systemebene Semesterdaten konfiguriert wurden, so können Sie mit dieser Option eine Durchführung für ein bestimmtes Semester konfigurieren. Die Begin- und Enddaten werden in diesem Fall über die Semesterkonfiguration gesteuert. 
+chelp.lifecycle.private=Verfügt ein Kurs über ein bestimmtes Begin- und Enddatum, was aber nicht einer verfügbaren Semesterkonfiguration entspricht, so können Sie mit dieser Option Kursspezifische Daten einstellen. 
+chelp.lifecycle02=Der Konfigurierte Durchf\u00FChrungszeitraum wird in der Liste der Lernressourcen und den Metadaten angezeigt.
+chelp.lifecycle03=Aktuell führen die Daten zu keinen automatisierten Prozessen wie freischalten oder sperren von Kursen. Diese Life-Cycle Prozesse sind für spätere Releases vorgesehen.
+chelp.pic=Um die Lernressource visuell attraktiver zu gestalten ist es bei Kursen und anderen veröffentlichnten Lernressourcen empfohlen ein Symbolbild zu hinterlegen. Das Symbolbild sollte keinen Text sondern nur ein Bild enthalten.
+chelp.pic.usage=Das Bild wird im Katalog und der Detailseite angezeigt. 
 chelp.rep01=In der $\:chelp.detail k\u00F6nnen Sie die Informationen zur Lernressource (Metadaten) einsehen.
 chelp.rep02=Bevor Sie eine Lernressource herstellen oder hinzuf\u00FCgen k\u00F6nnen, m\u00FCssen Sie einige Informationen (sog. Metadaten) ausf\u00FCllen.
 chelp.rep1=In der $\:chelp.detail k\u00F6nnen Sie die Informationen zur Lernressource (Metadaten) einsehen und \u00E4ndern.
@@ -200,13 +207,13 @@ cif.type=Typ
 cif.type.na=keine Angabe
 cif.usedbycnt=Momentane Benutzer
 cif.dates=Durchf\u00FChrungzeitraum
-cif.dates.none=Kein
-cif.dates.private=Eigene
+cif.dates.none=Ohne
+cif.dates.private=Mit Begin- und Enddatum
 cif.dates.public=Semester
 cif.public.dates=Semester
 cif.private.dates=Datum
-cif.date.start=Von
-cif.date.end=Bis
+cif.date.start=Begin
+cif.date.end=Ende
 no.lifecycle=Keine Einschr\u00E4nkung
 close.ressource.step1=Informationen zur Funktion "Beenden"
 close.ressource.step2=Optionale Einstellungen
@@ -227,14 +234,15 @@ course.config.changed.text=Sie m\u00F6chten die Kurseinstellungen \u00E4ndern. W
 course.config.changed.title=\u00C4nderung der Einstellungen
 coursefolder=Ablageordner
 cp.may.scorm=CP-Lerninhalt konnte nicht hinzugef\u00FCgt werden\! Ihr Lerninhalt enth\u00E4lt SCORM spezifische Attribute. Versuchen Sie, den Lerninhalt als SCORM-Lerninhalt hinzuzuf\u00FCgen.
-admin.menu.lifecycle.title=Semester Admin.
+admin.menu.lifecycle.title=Semesterdaten
+admin.lifecycles.title=Verwalten von Semesterdaten für Kurse
+admin.lifecycles.intro=Erstellen und Verwalten Sie Semesterdaten um bei Kurslaufzeiten auf eine Semesterbezeichnung anstelle eines Datums verweisen zu können. Die hier erstellen Semesterdaten können bei der Konfiguration des Durchführungszeitraumes eines Kurses in der Lernressourcenverwaltung verwendet werden. Als Bezeichnung könnten z.B. "SS15" und als Name "Sommersemester 2015" verwendet werden. 
 create.lifecycle=Semester erstellen
 managed.resource=Managed Lernressource
-lifecycle.softkey=Erkennung
+lifecycle.softkey=Bezeichnung
 lifecycle.label=Name
-lifecycle.validFrom=Von
-lifecycle.validTo=Bis
-menu.admin.lifecycles=Semester Admin.
+lifecycle.validFrom=$\:cif.date.start
+lifecycle.validTo=$\:cif.date.end
 delete.lifecycle=Semester löschen
 delete.lifecycle.confirm=Wollen Sie wirklich den Semester "{1}" mit Referenz "{0}" löschen?
 edit.lifecycle=Semester editieren
@@ -418,7 +426,7 @@ table.header.externalref=Ext. Ref.
 table.header.lastusage=Letzter Zugriff
 table.header.typeimg=Typ
 table.header.lifecycle.label=Semester
-table.header.lifecycle.softkey=Semester Erkennung
+table.header.lifecycle.softkey=Semesterbezeichnung
 table.header.lifecycle.start=$\:cif.date.start
 table.header.lifecycle.end=$\:cif.date.end
 table.subject.addeddate=Wann hinzugef\u00FCgt 
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties
index 3eb1114dd83..ddaf95b3daa 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties
@@ -50,6 +50,9 @@ add.wiki=Add Wiki learning content
 add.wiki.intro=Add Wiki learning content (ZIP file generated by OpenOLAT while downloading).
 add.wrongtype=The format of this learning resource does not correspond with the format selected. No learning resource added.
 addinfo.owner=Additional information
+admin.menu.lifecycle.title=Semester terms
+admin.lifecycles.title=Management of semester terms for courses
+admin.lifecycles.intro=Create and edit semester terms to define semester course execution periods instead of defining the course execution period individually per course. Semester terms you created here can be used when configuring the course execution period. As an identifier you could use something like "SS15" and as name "Summer semester 2015"
 allcourses=All courses
 cap.launch=Loading learning resource. Please wait...
 chelp.anim=<i>$org.olat.repository\:FileResource.ANIM</i>
@@ -194,15 +197,19 @@ cif.softkey=OpenOLAT soft ID
 cif.type=Type
 cif.type.na=n/a
 cif.usedbycnt=Current users
-cif.dates=Period of execution
+cif.dates=Execution Period
 cif.dates.none=None
-cif.dates.private=Own
+cif.dates.private=With begin and end date
 cif.dates.public=Semester
 cif.public.dates=Semester
 cif.private.dates=Dates
-cif.date.start=From
-cif.date.end=To
+cif.date.start=Begin
+cif.date.end=End
 no.lifecycle=No limitation
+lifecycle.softkey=Identifyer
+lifecycle.label=Name
+lifecycle.validFrom=$\:cif.date.start
+lifecycle.validTo=$\:cif.date.end
 close.ressource.step1=Information on the functionality "Close"
 close.ressource.step2=Optional settings
 close.ressource.step3=Send E-mail to members
@@ -405,7 +412,7 @@ table.header.externalid=Ext. ID
 table.header.externalref=Ext. Ref.
 table.header.typeimg=Type
 table.header.lifecycle.label=Semester
-table.header.lifecycle.softkey=Semester Id.
+table.header.lifecycle.softkey=Semester ID
 table.header.lifecycle.start=$\:cif.date.start
 table.header.lifecycle.end=$\:cif.date.end
 table.subject.addeddate=Added when? 
diff --git a/src/main/java/org/olat/repository/_spring/repositoryContext.xml b/src/main/java/org/olat/repository/_spring/repositoryContext.xml
index d20b1747d17..9f1785e6a85 100644
--- a/src/main/java/org/olat/repository/_spring/repositoryContext.xml
+++ b/src/main/java/org/olat/repository/_spring/repositoryContext.xml
@@ -75,7 +75,7 @@
 		<property name="navigationKey" value="vitero" />
 		<property name="parentTreeNodeIdentifier" value="modulesParent" /> 
 		<property name="i18nActionKey" value="admin.menu.lifecycle.title"/>
-		<property name="i18nDescriptionKey" value="admin.menu.title.alt"/>
+		<property name="i18nDescriptionKey" value="admin.lifecycles.title"/>
 		<property name="translationPackage" value="org.olat.repository"/>
 		<property name="extensionPoints">
 			<list>	
diff --git a/src/main/java/org/olat/repository/controllers/RepositoryEditDescriptionController.java b/src/main/java/org/olat/repository/controllers/RepositoryEditDescriptionController.java
index 2d45bb2d1da..ae52772f694 100644
--- a/src/main/java/org/olat/repository/controllers/RepositoryEditDescriptionController.java
+++ b/src/main/java/org/olat/repository/controllers/RepositoryEditDescriptionController.java
@@ -127,7 +127,7 @@ public class RepositoryEditDescriptionController extends FormBasicController {
 		}
 		
 		descCont = FormLayoutContainer.createDefaultFormLayout("desc", getTranslator());
-		descCont.setFormContextHelp("org.olat.repository","lifecycle.html","help.hover.lifecycle");
+		descCont.setFormContextHelp("org.olat.repository","rep-meta-desc.html","help.hover.lifecycle");
 		descCont.setRootForm(mainForm);
 		formLayout.add("desc", descCont);
 
diff --git a/src/main/java/org/olat/repository/ui/_content/lifecycles_admin.html b/src/main/java/org/olat/repository/ui/_content/lifecycles_admin.html
index ca0c90e71b1..71cfc2e0581 100644
--- a/src/main/java/org/olat/repository/ui/_content/lifecycles_admin.html
+++ b/src/main/java/org/olat/repository/ui/_content/lifecycles_admin.html
@@ -1,14 +1,13 @@
 <fieldset>
-	<legend>$r.translate("menu.admin.lifecycles")</legend>
-	$r.render("cycles")
-	<div class="b_clearfix ">
-		<div class="">
-		$r.render("create.lifecycle")
-		</div>
+	<legend>$r.translate("admin.lifecycles.title")</legend>
+		<div class="b_info">
+		$r.translate("admin.lifecycles.intro")		
 	</div>
+	<div class="b_clearfix">
+		<div class="b_float_right">
+			$r.render("create.lifecycle")
+		</div>
+	</div>	
+	<br />
+	$r.render("cycles")
 </fieldset>
-
-
-
-
-
-- 
GitLab