Skip to content
Snippets Groups Projects
Commit c2fe02df authored by srosse's avatar srosse
Browse files

no-jira: fix rs in forum course element preview

parent 84d6e550
No related branches found
No related tags found
No related merge requests found
...@@ -186,9 +186,9 @@ public class FOCourseNode extends AbstractAccessableCourseNode { ...@@ -186,9 +186,9 @@ public class FOCourseNode extends AbstractAccessableCourseNode {
return new NodeRunConstructionResult(forumC); return new NodeRunConstructionResult(forumC);
} }
private boolean isModerator(UserCourseEnvironment userCourseEnv, NodeEvaluation ne) { public boolean isModerator(UserCourseEnvironment userCourseEnv, NodeEvaluation ne) {
if (hasCustomPreConditions()) { 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()) { } else if (getModuleConfiguration().getBooleanSafe(CONFIG_COACH_MODERATE_ALLOWED) && userCourseEnv.isCoach()) {
return true; return true;
} }
...@@ -197,7 +197,7 @@ public class FOCourseNode extends AbstractAccessableCourseNode { ...@@ -197,7 +197,7 @@ public class FOCourseNode extends AbstractAccessableCourseNode {
public boolean isPoster(UserCourseEnvironment userCourseEnv, NodeEvaluation ne) { public boolean isPoster(UserCourseEnvironment userCourseEnv, NodeEvaluation ne) {
if (hasCustomPreConditions()) { 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()) } else if ((getModuleConfiguration().getBooleanSafe(CONFIG_COACH_POST_ALLOWED) && userCourseEnv.isCoach())
|| (getModuleConfiguration().getBooleanSafe(CONFIG_PARTICIPANT_POST_ALLOWED) && userCourseEnv.isParticipant())) { || (getModuleConfiguration().getBooleanSafe(CONFIG_PARTICIPANT_POST_ALLOWED) && userCourseEnv.isParticipant())) {
return true; return true;
...@@ -278,8 +278,7 @@ public class FOCourseNode extends AbstractAccessableCourseNode { ...@@ -278,8 +278,7 @@ public class FOCourseNode extends AbstractAccessableCourseNode {
private Forum createForum(final CourseEnvironment courseEnv) { private Forum createForum(final CourseEnvironment courseEnv) {
final ForumManager fom = CoreSpringFactory.getImpl(ForumManager.class); final ForumManager fom = CoreSpringFactory.getImpl(ForumManager.class);
// creates resourceable from FOCourseNode.class and the current node id as key // creates resourceable from FOCourseNode.class and the current node id as key
OLATResourceable courseNodeResourceable = OresHelper.createOLATResourceableInstance(FOCourseNode.class, OLATResourceable courseNodeResourceable = OresHelper.createOLATResourceableInstance(FOCourseNode.class, Long.valueOf(getIdent()));
new Long(getIdent()));
// o_clusterOK by:ld // o_clusterOK by:ld
return CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync(courseNodeResourceable, return CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync(courseNodeResourceable,
new SyncerCallback<Forum>() { new SyncerCallback<Forum>() {
...@@ -337,7 +336,7 @@ public class FOCourseNode extends AbstractAccessableCourseNode { ...@@ -337,7 +336,7 @@ public class FOCourseNode extends AbstractAccessableCourseNode {
@Override @Override
public Controller createPreviewController(UserRequest ureq, WindowControl wControl, public Controller createPreviewController(UserRequest ureq, WindowControl wControl,
UserCourseEnvironment userCourseEnv, CourseNodeSecurityCallback nodeSecCallback) { UserCourseEnvironment userCourseEnv, CourseNodeSecurityCallback nodeSecCallback) {
return new FOPreviewController(ureq, wControl, nodeSecCallback.getNodeEvaluation()); return new FOPreviewController(ureq, wControl, this, userCourseEnv, nodeSecCallback);
} }
@Override @Override
......
...@@ -64,7 +64,7 @@ public class BCPreviewController extends DefaultController { ...@@ -64,7 +64,7 @@ public class BCPreviewController extends DefaultController {
previewVC.put("folder", folder.getInitialComponent()); previewVC.put("folder", folder.getInitialComponent());
// get additional infos // get additional infos
boolean canDownload = node.canDownload(ne); 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); VFSSecurityCallback secCallback = new FolderNodeCallback(namedContainer.getRelPath(), canDownload, canUpload, false, false, null);
previewVC.contextPut("canUpload", Boolean.valueOf(secCallback.canWrite())); previewVC.contextPut("canUpload", Boolean.valueOf(secCallback.canWrite()));
previewVC.contextPut("canDownload", Boolean.valueOf(secCallback.canRead())); previewVC.contextPut("canDownload", Boolean.valueOf(secCallback.canRead()));
......
...@@ -33,7 +33,9 @@ import org.olat.core.gui.control.Event; ...@@ -33,7 +33,9 @@ import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.translator.Translator; import org.olat.core.gui.translator.Translator;
import org.olat.core.util.Util; 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> * Description: <br>
...@@ -52,13 +54,14 @@ public class FOPreviewController extends DefaultController { ...@@ -52,13 +54,14 @@ public class FOPreviewController extends DefaultController {
* @param node * @param node
* @param ne * @param ne
*/ */
public FOPreviewController(UserRequest ureq, WindowControl wControl, NodeEvaluation ne) { public FOPreviewController(UserRequest ureq, WindowControl wControl, FOCourseNode courseNode,
UserCourseEnvironment userCourseEnv, CourseNodeSecurityCallback nodeSecCallback) {
super(wControl); super(wControl);
trans = Util.createPackageTranslator(FOPreviewController.class, ureq.getLocale()); trans = Util.createPackageTranslator(FOPreviewController.class, ureq.getLocale());
previewVC = new VelocityContainer("foPreviewVC", VELOCITY_ROOT + "/preview.html", trans, this); previewVC = new VelocityContainer("foPreviewVC", VELOCITY_ROOT + "/preview.html", trans, this);
previewVC.contextPut("canRead", Boolean.valueOf(ne.isCapabilityAccessible("reader"))); previewVC.contextPut("canRead", nodeSecCallback.isAccessible());
previewVC.contextPut("canPost", Boolean.valueOf(ne.isCapabilityAccessible("poster"))); previewVC.contextPut("canPost", courseNode.isPoster(userCourseEnv, nodeSecCallback.getNodeEvaluation()));
previewVC.contextPut("canModerate", Boolean.valueOf(ne.isCapabilityAccessible("moderator"))); previewVC.contextPut("canModerate", courseNode.isModerator(userCourseEnv, nodeSecCallback.getNodeEvaluation()));
setInitialComponent(previewVC); setInitialComponent(previewVC);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment