From c2fe02dffb1d8d66e8cdd09825a2d184190d4c20 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Wed, 22 Apr 2020 13:28:23 +0200 Subject: [PATCH] no-jira: fix rs in forum course element preview --- .../java/org/olat/course/nodes/FOCourseNode.java | 11 +++++------ .../olat/course/nodes/bc/BCPreviewController.java | 2 +- .../olat/course/nodes/fo/FOPreviewController.java | 13 ++++++++----- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/olat/course/nodes/FOCourseNode.java b/src/main/java/org/olat/course/nodes/FOCourseNode.java index 9c6c7beb935..fe64bd3ce46 100644 --- a/src/main/java/org/olat/course/nodes/FOCourseNode.java +++ b/src/main/java/org/olat/course/nodes/FOCourseNode.java @@ -186,9 +186,9 @@ public class FOCourseNode extends AbstractAccessableCourseNode { return new NodeRunConstructionResult(forumC); } - private boolean isModerator(UserCourseEnvironment userCourseEnv, NodeEvaluation ne) { + public boolean isModerator(UserCourseEnvironment userCourseEnv, NodeEvaluation ne) { if (hasCustomPreConditions()) { - return ne != null? ne.isCapabilityAccessible("moderator"): false; + return ne != null && ne.isCapabilityAccessible("moderator"); } else if (getModuleConfiguration().getBooleanSafe(CONFIG_COACH_MODERATE_ALLOWED) && userCourseEnv.isCoach()) { return true; } @@ -197,7 +197,7 @@ public class FOCourseNode extends AbstractAccessableCourseNode { public boolean isPoster(UserCourseEnvironment userCourseEnv, NodeEvaluation ne) { if (hasCustomPreConditions()) { - return ne != null ? ne.isCapabilityAccessible("poster") : false; + return ne != null && ne.isCapabilityAccessible("poster"); } else if ((getModuleConfiguration().getBooleanSafe(CONFIG_COACH_POST_ALLOWED) && userCourseEnv.isCoach()) || (getModuleConfiguration().getBooleanSafe(CONFIG_PARTICIPANT_POST_ALLOWED) && userCourseEnv.isParticipant())) { return true; @@ -278,8 +278,7 @@ public class FOCourseNode extends AbstractAccessableCourseNode { private Forum createForum(final CourseEnvironment courseEnv) { final ForumManager fom = CoreSpringFactory.getImpl(ForumManager.class); // creates resourceable from FOCourseNode.class and the current node id as key - OLATResourceable courseNodeResourceable = OresHelper.createOLATResourceableInstance(FOCourseNode.class, - new Long(getIdent())); + OLATResourceable courseNodeResourceable = OresHelper.createOLATResourceableInstance(FOCourseNode.class, Long.valueOf(getIdent())); // o_clusterOK by:ld return CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync(courseNodeResourceable, new SyncerCallback<Forum>() { @@ -337,7 +336,7 @@ public class FOCourseNode extends AbstractAccessableCourseNode { @Override public Controller createPreviewController(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, CourseNodeSecurityCallback nodeSecCallback) { - return new FOPreviewController(ureq, wControl, nodeSecCallback.getNodeEvaluation()); + return new FOPreviewController(ureq, wControl, this, userCourseEnv, nodeSecCallback); } @Override diff --git a/src/main/java/org/olat/course/nodes/bc/BCPreviewController.java b/src/main/java/org/olat/course/nodes/bc/BCPreviewController.java index 3017dc591bb..e792696f734 100644 --- a/src/main/java/org/olat/course/nodes/bc/BCPreviewController.java +++ b/src/main/java/org/olat/course/nodes/bc/BCPreviewController.java @@ -64,7 +64,7 @@ public class BCPreviewController extends DefaultController { previewVC.put("folder", folder.getInitialComponent()); // get additional infos boolean canDownload = node.canDownload(ne); - boolean canUpload = node.canUpload(userCourseEnv, ne);; + boolean canUpload = node.canUpload(userCourseEnv, ne); VFSSecurityCallback secCallback = new FolderNodeCallback(namedContainer.getRelPath(), canDownload, canUpload, false, false, null); previewVC.contextPut("canUpload", Boolean.valueOf(secCallback.canWrite())); previewVC.contextPut("canDownload", Boolean.valueOf(secCallback.canRead())); diff --git a/src/main/java/org/olat/course/nodes/fo/FOPreviewController.java b/src/main/java/org/olat/course/nodes/fo/FOPreviewController.java index b0703baa258..7e55c4783bf 100644 --- a/src/main/java/org/olat/course/nodes/fo/FOPreviewController.java +++ b/src/main/java/org/olat/course/nodes/fo/FOPreviewController.java @@ -33,7 +33,9 @@ import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.translator.Translator; import org.olat.core.util.Util; -import org.olat.course.run.userview.NodeEvaluation; +import org.olat.course.nodes.FOCourseNode; +import org.olat.course.run.userview.CourseNodeSecurityCallback; +import org.olat.course.run.userview.UserCourseEnvironment; /** * Description: <br> @@ -52,13 +54,14 @@ public class FOPreviewController extends DefaultController { * @param node * @param ne */ - public FOPreviewController(UserRequest ureq, WindowControl wControl, NodeEvaluation ne) { + public FOPreviewController(UserRequest ureq, WindowControl wControl, FOCourseNode courseNode, + UserCourseEnvironment userCourseEnv, CourseNodeSecurityCallback nodeSecCallback) { super(wControl); trans = Util.createPackageTranslator(FOPreviewController.class, ureq.getLocale()); previewVC = new VelocityContainer("foPreviewVC", VELOCITY_ROOT + "/preview.html", trans, this); - previewVC.contextPut("canRead", Boolean.valueOf(ne.isCapabilityAccessible("reader"))); - previewVC.contextPut("canPost", Boolean.valueOf(ne.isCapabilityAccessible("poster"))); - previewVC.contextPut("canModerate", Boolean.valueOf(ne.isCapabilityAccessible("moderator"))); + previewVC.contextPut("canRead", nodeSecCallback.isAccessible()); + previewVC.contextPut("canPost", courseNode.isPoster(userCourseEnv, nodeSecCallback.getNodeEvaluation())); + previewVC.contextPut("canModerate", courseNode.isModerator(userCourseEnv, nodeSecCallback.getNodeEvaluation())); setInitialComponent(previewVC); } -- GitLab