From 09db77e4b2942dbdfaa80aec5b976ec1f923945e Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Fri, 12 Jul 2013 12:46:18 +0200
Subject: [PATCH] OO-533: add a presentation page for the pools/groups

---
 .../ui/QuestionPoolMainEditorController.java  | 15 ++++-
 .../qpool/ui/SharePresentationController.java | 55 +++++++++++++++++++
 .../qpool/ui/_content/share_presentation.html | 28 ++++++++++
 .../qpool/ui/_i18n/LocalStrings_de.properties | 28 ++++++++++
 4 files changed, 124 insertions(+), 2 deletions(-)
 create mode 100644 src/main/java/org/olat/modules/qpool/ui/SharePresentationController.java
 create mode 100644 src/main/java/org/olat/modules/qpool/ui/_content/share_presentation.html

diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMainEditorController.java b/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMainEditorController.java
index 22cc7042d59..3aa8c34a317 100644
--- a/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMainEditorController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMainEditorController.java
@@ -91,7 +91,7 @@ public class QuestionPoolMainEditorController extends BasicController implements
 	private QuestionsController myQuestionsCtrl;
 	private QuestionsController markedQuestionsCtrl;
 	
-	private Controller presentationCtrl;
+	private Controller presentationCtrl, sharePresentationCtrl;
 	private PoolsAdminController poolAdminCtrl;
 	private QItemTypesAdminController typesCtrl;
 	private QEducationalContextsAdminController levelsCtrl;
@@ -168,6 +168,8 @@ public class QuestionPoolMainEditorController extends BasicController implements
 		Object uNode = node.getUserObject();
 		if("Presentation".equals(uNode)) {
 			doSelectPresentation(ureq);
+		} else if("SharePresentation".equals(uNode)) {
+			doSelectSharePresentation(ureq);
 		} else if("Statistics".equals(uNode)) {
 			doSelectAdmin(ureq, entries, state);
 		} else if("Taxonomy".equals(uNode)) {
@@ -309,6 +311,15 @@ public class QuestionPoolMainEditorController extends BasicController implements
 		setContent(ureq, presentationCtrl, null, null);
 	}
 	
+	private void doSelectSharePresentation(UserRequest ureq) {
+		if(sharePresentationCtrl == null) {
+			WindowControl swControl = addToHistory(ureq, OresHelper.createOLATResourceableType("SharePresentation"), null);
+			sharePresentationCtrl = new SharePresentationController(ureq, swControl);
+			listenTo(sharePresentationCtrl);
+		} 
+		setContent(ureq, sharePresentationCtrl, null, null);
+	}
+	
 	private void doSelectAdmin(UserRequest ureq, List<ContextEntry> entries, StateEntry state) {
 		if(adminStatisticsCtrl == null) {
 			WindowControl swControl = addToHistory(ureq, OresHelper.createOLATResourceableType("Statistics"), null);
@@ -480,7 +491,7 @@ public class QuestionPoolMainEditorController extends BasicController implements
 		buildMySubTreeModel(myNode);
 
 		//pools + shares
-		sharesNode = new GenericTreeNode(translate("menu.share"), "menu.share");
+		sharesNode = new GenericTreeNode(translate("menu.share"), "SharePresentation");
 		sharesNode.setCssClass("o_sel_qpool_shares");
 		rootNode.addChild(sharesNode);	
 		buildShareSubTreeModel(sharesNode);
diff --git a/src/main/java/org/olat/modules/qpool/ui/SharePresentationController.java b/src/main/java/org/olat/modules/qpool/ui/SharePresentationController.java
new file mode 100644
index 00000000000..e8c1f5e5540
--- /dev/null
+++ b/src/main/java/org/olat/modules/qpool/ui/SharePresentationController.java
@@ -0,0 +1,55 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.modules.qpool.ui;
+
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.form.flexible.FormItemContainer;
+import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
+import org.olat.core.gui.control.Controller;
+import org.olat.core.gui.control.WindowControl;
+
+/**
+ * 
+ * Initial date: 12.07.2013<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class SharePresentationController extends FormBasicController {
+	
+	public SharePresentationController(UserRequest ureq, WindowControl wControl) {
+		super(ureq, wControl, "share_presentation");
+		initForm(ureq);
+	}
+
+	@Override
+	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
+		//
+	}
+	
+	@Override
+	protected void doDispose() {
+		//
+	}
+
+	@Override
+	protected void formOK(UserRequest ureq) {
+		//
+	}
+}
diff --git a/src/main/java/org/olat/modules/qpool/ui/_content/share_presentation.html b/src/main/java/org/olat/modules/qpool/ui/_content/share_presentation.html
new file mode 100644
index 00000000000..e9285296095
--- /dev/null
+++ b/src/main/java/org/olat/modules/qpool/ui/_content/share_presentation.html
@@ -0,0 +1,28 @@
+<div class="o_sel_qpool_presentation">
+	<h4 class="b_with_small_icon_left  b_qpool_icon">$r.translate("share.presentation.title")</h4>
+	<p>$r.translate("share.presentation.1")</p>
+	<p>$r.translate("share.presentation.2")</p>
+	<p>$r.translate("share.presentation.3")</p>
+	<p>$r.translate("share.presentation.4")</p>
+	<h5>$r.translate("share.presentation.subtitle")</h5>
+	<div>
+		<div class="b_c33l">
+			<ol>
+			<li><p>$r.translate("share.presentation.5")</p></li></ol>
+			<ul>
+				<li>$r.translate("share.presentation.6")</li>
+				<li>$r.translate("share.presentation.7")</li>
+			</ul>
+		</div>
+		<div class="b_c33l">
+			<ol start="2"><li>$r.translate("share.presentation.8")</li></ol>
+			<ul>
+				<li>$r.translate("share.presentation.9")</li>
+				<li>$r.translate("share.presentation.10")</li>
+			</ul>
+		</div>
+		<div class="b_c33r">
+			<ol start="3"><li>$r.translate("share.presentation.11")</li></ol>
+		</div>
+	</div>
+</div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties
index efac6442c53..9efbf6d91fe 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties
@@ -43,6 +43,34 @@ presentation.6=direkt erstellt werden mit dem Testeditor
 presentation.7=Fragen lassen sich leicht mit Listen organisieren, und bleiben so übersichtlich. Fragen können von Listen wieder entfernt werden
 presentation.8=Fragen können als Test in die OpenOLAT Lernressourcen, im QTI 1.2 Format oder als .zip-Datei exportiert werden.
 
+share.presentation.title=Freigaben
+share.presentation.subtitle=Was muss ich tun?
+share.presentation.1=In den Freigaben befinden sich alle durch Benutzer freigegebenen Fragen.
+share.presentation.2=Mit Hilfe von Pools und Gruppenfreigaben bestimmen die Benutzer, wer Zugriff auf einzelne Fragen hat.
+share.presentation.3=Der Catalog ist der Standardpool auf den alle Benutzer mit Autorenrechten Zugriff haben. Der Q-Pool-Administrator kann neue Pools erstellen und deren Zugriffsrechte festlegen, weshalb sich die Anzahl Pools pro OpenOLAT-Benutzer unterscheiden kann.
+share.presentation.4=Fragen können auch für Gruppen freigegeben werden. Ob und wieviele Gruppen unter "Freigaben" angezeigt werden, hängt vom Benutzer ab.
+share.presentation.5=Um Fragen verwenden zu können, müssen sich die Fragen in "Meine Fragen" oder auf einer Liste befinden. Fragen können
+share.presentation.6=aus dem Catalog oder anderen Pools sowie eventuellen Gruppenfreigaben kopiert werden
+share.presentation.7=zu Listen organisiert werden. Fragen können von Listen entfernt werden ohne die Frage selbst zu löschen.
+share.presentation.8=Damit andere Benutzer Zugriff auf Fragen anderer Autoren haben, müssen diese zuerst freigegeben werden. Fragen können an
+
+share.presentation.9=Pools freigegeben werden. Neben dem Standardkatalog kann es noch weitere, eventuell nicht öffentliche, Pools geben
+share.presentation.10=Gruppen freigegeben werden. Nur Benutzer die sich in dieser Gruppe befinden und Zugriffsrechte auf den Fragenpool haben, bekommen diese Freigabe angezeigt. 
+share.presentation.11=Bereits freigegebene Fragen können aus Pools, Gruppen und von Listen wieder entfernt werden. Die Frage selbst wird dabei nicht aus "Meine Fragen" gelöscht.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 create.list=Liste erstellen
 create.test=Test erstellen
-- 
GitLab