From 4b89c8aa5fd9cfc9ce50bb720a719fc3d9e45f3a Mon Sep 17 00:00:00 2001 From: strentini <none@none> Date: Thu, 1 Mar 2012 16:39:42 +0100 Subject: [PATCH] OO-136 : add guest-check in course for portfolio task --HG-- branch : 80-patch --- .../olat/course/nodes/PortfolioCourseNode.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/olat/course/nodes/PortfolioCourseNode.java b/src/main/java/org/olat/course/nodes/PortfolioCourseNode.java index a337fb781d6..d9b5e76b487 100644 --- a/src/main/java/org/olat/course/nodes/PortfolioCourseNode.java +++ b/src/main/java/org/olat/course/nodes/PortfolioCourseNode.java @@ -28,8 +28,12 @@ import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.generic.messages.MessageUIFactory; import org.olat.core.gui.control.generic.tabbable.TabbableController; +import org.olat.core.gui.translator.PackageTranslator; +import org.olat.core.gui.translator.Translator; import org.olat.core.id.Identity; +import org.olat.core.id.Roles; import org.olat.core.logging.OLATRuntimeException; import org.olat.core.util.Util; import org.olat.core.util.ValidationStatus; @@ -116,8 +120,18 @@ public class PortfolioCourseNode extends AbstractAccessableCourseNode implements public NodeRunConstructionResult createNodeRunConstructionResult(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, NodeEvaluation ne, String nodecmd) { updateModuleConfigDefaults(false); - PortfolioCourseNodeRunController portfolioCtrl = new PortfolioCourseNodeRunController(ureq, wControl, userCourseEnv, ne, this); - Controller ctrl = TitledWrapperHelper.getWrapper(ureq, wControl, portfolioCtrl, this, "o_ep_icon"); + Controller controller; + // OO-136 : do not allow guests to access portfolio task + Roles roles = ureq.getUserSession().getRoles(); + if (roles.isGuestOnly()) { + Translator trans = Util.createPackageTranslator(PortfolioCourseNode.class, ureq.getLocale()); + String title = trans.translate("guestnoaccess.title"); + String message = trans.translate("guestnoaccess.message"); + controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message); + } else { + controller = new PortfolioCourseNodeRunController(ureq, wControl, userCourseEnv, ne, this); + } + Controller ctrl = TitledWrapperHelper.getWrapper(ureq, wControl, controller, this, "o_ep_icon"); return new NodeRunConstructionResult(ctrl); } -- GitLab