diff --git a/src/main/java/org/olat/course/nodes/bc/BCCourseNodeEditController.java b/src/main/java/org/olat/course/nodes/bc/BCCourseNodeEditController.java index c199dca18f0611aa7b0a8c2352ecb62b15740a16..3d1fb343e1c2c364c7d389bebf9aa56bcd120fb1 100644 --- a/src/main/java/org/olat/course/nodes/bc/BCCourseNodeEditController.java +++ b/src/main/java/org/olat/course/nodes/bc/BCCourseNodeEditController.java @@ -50,6 +50,7 @@ import org.olat.course.ICourse; import org.olat.course.assessment.AssessmentHelper; import org.olat.course.condition.Condition; import org.olat.course.condition.ConditionEditController; +import org.olat.course.config.CourseConfig; import org.olat.course.editor.NodeEditController; import org.olat.course.nodes.BCCourseNode; import org.olat.course.run.userview.UserCourseEnvironment; @@ -106,7 +107,9 @@ public class BCCourseNodeEditController extends ActivateableTabbableDefaultContr .getAssessableNodes(course.getEditorTreeModel(), bcNode)); listenTo(uploaderCondContr); - if(bcNode.getModuleConfiguration().getStringValue(CONFIG_SUBPATH, "").startsWith("/_sharedfolder")){ + CourseConfig courseConfig = course.getCourseConfig(); + if(bcNode.getModuleConfiguration().getStringValue(CONFIG_SUBPATH, "").startsWith("/_sharedfolder") + && courseConfig.isSharedFolderReadOnlyMount()) { accessabiliryContent.contextPut("uploadable", false); } else { accessabiliryContent.contextPut("uploadable", true); diff --git a/src/main/java/org/olat/course/nodes/bc/BCCourseNodeRunController.java b/src/main/java/org/olat/course/nodes/bc/BCCourseNodeRunController.java index 1ce8412c60f51ba9609f88128ca7cad3755f5919..17b9c467fd3471b853aa18920474ad2b067e441a 100644 --- a/src/main/java/org/olat/course/nodes/bc/BCCourseNodeRunController.java +++ b/src/main/java/org/olat/course/nodes/bc/BCCourseNodeRunController.java @@ -102,10 +102,14 @@ public class BCCourseNodeRunController extends DefaultController implements Acti noFolder = true; BCCourseNodeNoFolderForm noFolderForm = new BCCourseNodeNoFolderForm(ureq, getWindowControl()); setInitialComponent(noFolderForm.getInitialComponent()); - }else if(item instanceof VFSContainer){ + } else if(item instanceof VFSContainer){ target = new NamedContainerImpl(courseNode.getShortTitle(), (VFSContainer) item); } - scallback = new FolderNodeReadOnlyCallback(nodefolderSubContext); + if(courseEnv.getCourseConfig().isSharedFolderReadOnlyMount()) { + scallback = new FolderNodeReadOnlyCallback(nodefolderSubContext); + } else { + scallback = new FolderNodeCallback(BCCourseNode.getNodeFolderContainer(courseNode, courseEnv).getRelPath(), ne, isOlatAdmin, isGuestOnly, nodefolderSubContext); + } } else{ //create folder automatically if not found String subPath = courseNode.getModuleConfiguration().getStringValue(BCCourseNodeEditController.CONFIG_SUBPATH);