From 0f2bdf273a0571c75cb3abac52dfee7ac59e2f6c Mon Sep 17 00:00:00 2001 From: uhensler <urs.hensler@frentix.com> Date: Mon, 7 Oct 2019 15:24:25 +0200 Subject: [PATCH] OO-4293: Only course participants can perform a portfolio task --- .../PortfolioCourseNodeRunController.java | 17 ++++++++++++++++- .../course/nodes/portfolio/_content/run.html | 3 +++ .../portfolio/_i18n/LocalStrings_de.properties | 2 ++ .../portfolio/_i18n/LocalStrings_en.properties | 2 ++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/olat/course/nodes/portfolio/PortfolioCourseNodeRunController.java b/src/main/java/org/olat/course/nodes/portfolio/PortfolioCourseNodeRunController.java index f7ec2ed339e..361564aaa5e 100644 --- a/src/main/java/org/olat/course/nodes/portfolio/PortfolioCourseNodeRunController.java +++ b/src/main/java/org/olat/course/nodes/portfolio/PortfolioCourseNodeRunController.java @@ -39,6 +39,8 @@ import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.generic.messages.MessageController; +import org.olat.core.gui.control.generic.messages.MessageUIFactory; import org.olat.core.gui.control.generic.modal.DialogBoxController; import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; import org.olat.core.id.OLATResourceable; @@ -143,7 +145,20 @@ public class PortfolioCourseNodeRunController extends FormBasicController { @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + if (userCourseEnv.isAdmin() || userCourseEnv.isCoach()) { + String title = ""; + if(templateMap != null) { + title = StringHelper.escapeHtml(templateMap.getTitle()); + } else if(templateBinder != null) { + title = StringHelper.escapeHtml(templateBinder.getTitle()); + } + MessageController coachMessage = MessageUIFactory.createInfoMessage(ureq, getWindowControl(), + translate("info.coach.title"), translate("info.coach.text", new String[] { title })); + (((FormLayoutContainer) formLayout).getFormItemComponent()).put("coachMessage", coachMessage.getInitialComponent()); + } + infosContainer = FormLayoutContainer.createDefaultFormLayout("infos", getTranslator()); + infosContainer.setVisible(userCourseEnv.isParticipant()); formLayout.add(infosContainer); String assessmentPage = velocity_root + "/assessment_infos.html"; @@ -304,7 +319,7 @@ public class PortfolioCourseNodeRunController extends FormBasicController { } private void updateAssessmentInfos(UserRequest ureq, Date returnDate) { - if(returnDate != null || copyBinder != null) { + if(userCourseEnv.isParticipant() && (returnDate != null || copyBinder != null)) { String rDate = formatter.formatDateAndTime(returnDate); uifactory.addStaticTextElement("map.returnDate", rDate, infosContainer); diff --git a/src/main/java/org/olat/course/nodes/portfolio/_content/run.html b/src/main/java/org/olat/course/nodes/portfolio/_content/run.html index c5322fc1234..66ef8d6e780 100644 --- a/src/main/java/org/olat/course/nodes/portfolio/_content/run.html +++ b/src/main/java/org/olat/course/nodes/portfolio/_content/run.html @@ -1,3 +1,6 @@ +#if ($r.available("coachMessage")) + $r.render("coachMessage") +#end $r.render("assessmentInfos") #if ($r.available("highScore")) $r.render("highScore") diff --git a/src/main/java/org/olat/course/nodes/portfolio/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/nodes/portfolio/_i18n/LocalStrings_de.properties index e45a71d329f..fb6f8d9d752 100644 --- a/src/main/java/org/olat/course/nodes/portfolio/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/course/nodes/portfolio/_i18n/LocalStrings_de.properties @@ -9,6 +9,8 @@ error.noreference.long=F\u00FCr "{0}" muss in der Konfiguration eine Portfoliovo error.noreference.short=Es ist noch keine Portfoliovorlage f\u00FCr "{0}" ausgew\u00E4hlt. pane.tab.highscore=HighScore explanation.text=Mitteilung an Benutzer +info.coach.title=Portfolioaufgabe +info.coach.text=Die Kursteilnehmer m\u00FCssen die Portfolioaufgabe "{0}" bearbeiten. map.available=Es steht eine Portfolioaufgabe zur Verf\u00FCgung\: {0}. Sie k\u00F6nnen diese abholen und anschliessend bearbeiten. map.comment=Kommentar/Bewertung map.copied=Eine neue Portfolioaufgabe "{0}" befindet sich in Ihrem ePortfolio. diff --git a/src/main/java/org/olat/course/nodes/portfolio/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/nodes/portfolio/_i18n/LocalStrings_en.properties index ccef18c64e4..d456f4d1fd8 100644 --- a/src/main/java/org/olat/course/nodes/portfolio/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/course/nodes/portfolio/_i18n/LocalStrings_en.properties @@ -23,6 +23,8 @@ preview.map=Preview error.noreference.long=For "{0}" you have to select a portfolio template in the tab "Learning content" in your configuration first. error.noreference.short=No portfolio template selected for "{0}" explanation.text=Message for users +info.coach.title=Portfolio task +info.coach.text=The course participants have to perform the portfolio task "{0}". map.available=There is a portfolio task at your disposal\: {0}. You can collect it before performing it later on. map.comment=Comment/evaluation map.copied=There is a new portfolio task "{0}" in your ePortfolio. -- GitLab