diff --git a/src/main/java/org/olat/course/nodes/ta/SolutionController.java b/src/main/java/org/olat/course/nodes/ta/SolutionController.java index 99fc83fd2bf9ad35bea4ee200e123bc4d46715a0..6082a8b6c458387fa8283bcd4fbb2b5f1bd14ab5 100644 --- a/src/main/java/org/olat/course/nodes/ta/SolutionController.java +++ b/src/main/java/org/olat/course/nodes/ta/SolutionController.java @@ -64,28 +64,27 @@ public class SolutionController extends BasicController { * @param wControl * @param config * @param node - * @param userCourseEnv + * @param courseEnv * @param previewMode */ - public SolutionController(UserRequest ureq, WindowControl wControl, CourseNode node, UserCourseEnvironment userCourseEnv, boolean previewMode) { + public SolutionController(UserRequest ureq, WindowControl wControl, CourseNode node, CourseEnvironment courseEnv, boolean previewMode) { super(ureq, wControl); myContent = createVelocityContainer("solutionRun"); // returnbox display - OlatRootFolderImpl rootFolder = new OlatRootFolderImpl( - SolutionController.getSolutionPathRelToFolderRoot(userCourseEnv.getCourseEnvironment(), node), null); + String solutionPath = SolutionController.getSolutionPathRelToFolderRoot(courseEnv, node); + OlatRootFolderImpl rootFolder = new OlatRootFolderImpl(solutionPath, null); OlatNamedContainerImpl namedContainer = new OlatNamedContainerImpl("solutions", rootFolder); namedContainer.setLocalSecurityCallback(new ReadOnlyCallback()); solutionFolderRunController = new FolderRunController(namedContainer, false, ureq, wControl); solutionFolderRunController.addControllerListener(this); myContent.put("solutionbox", solutionFolderRunController.getInitialComponent()); - if ( !previewMode) { + if (!previewMode) { // offer subscription, but not to guests - subsContext = SolutionFileUploadNotificationHandler.getSubscriptionContext(userCourseEnv, node); + subsContext = SolutionFileUploadNotificationHandler.getSubscriptionContext(courseEnv, node); if (subsContext != null) { - contextualSubscriptionCtr = AbstractTaskNotificationHandler.createContextualSubscriptionController(ureq, wControl, getSolutionPathRelToFolderRoot( - userCourseEnv.getCourseEnvironment(), node), subsContext, SolutionController.class); + contextualSubscriptionCtr = AbstractTaskNotificationHandler.createContextualSubscriptionController(ureq, wControl, solutionPath, subsContext, SolutionController.class); myContent.put("subscription", contextualSubscriptionCtr.getInitialComponent()); myContent.contextPut("hasNotification", Boolean.TRUE); } diff --git a/src/main/java/org/olat/course/nodes/ta/SolutionFileUploadNotificationHandler.java b/src/main/java/org/olat/course/nodes/ta/SolutionFileUploadNotificationHandler.java index e4036196b8ab617fba998951ac8ab3ee81906135..9c3a969b93757185faea05d1a60a6480eed27b12 100644 --- a/src/main/java/org/olat/course/nodes/ta/SolutionFileUploadNotificationHandler.java +++ b/src/main/java/org/olat/course/nodes/ta/SolutionFileUploadNotificationHandler.java @@ -32,7 +32,7 @@ import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; import org.olat.course.CourseModule; import org.olat.course.nodes.CourseNode; -import org.olat.course.run.userview.UserCourseEnvironment; +import org.olat.course.run.environment.CourseEnvironment; /** * Description:<br> @@ -51,8 +51,8 @@ public class SolutionFileUploadNotificationHandler extends AbstractTaskNotificat //empty block } - protected static SubscriptionContext getSubscriptionContext(UserCourseEnvironment userCourseEnv, CourseNode node) { - return CourseModule.createSubscriptionContext(userCourseEnv.getCourseEnvironment(), node, "Solutionbox"); + protected static SubscriptionContext getSubscriptionContext(CourseEnvironment courseEnv, CourseNode node) { + return CourseModule.createSubscriptionContext(courseEnv, node, "Solutionbox"); } protected String getCssClassIcon() { diff --git a/src/main/java/org/olat/course/nodes/ta/TACourseNodeEditController.java b/src/main/java/org/olat/course/nodes/ta/TACourseNodeEditController.java index 77abf5efcaa9711b22561b81f8c426c38e34fed4..07884fc85598979cce39714eac97e6aa9c12e976 100644 --- a/src/main/java/org/olat/course/nodes/ta/TACourseNodeEditController.java +++ b/src/main/java/org/olat/course/nodes/ta/TACourseNodeEditController.java @@ -257,7 +257,7 @@ public class TACourseNodeEditController extends ActivateableTabbableDefaultContr editScoring.contextPut("isOverwriting", new Boolean(false)); // Solution-Tab - solutionVC = this.createVelocityContainer("editSolutionFolder"); + solutionVC = createVelocityContainer("editSolutionFolder"); vfButton = LinkFactory.createButton("link.solutionFolder", solutionVC, this); } @@ -292,10 +292,9 @@ public class TACourseNodeEditController extends ActivateableTabbableDefaultContr } else { // already assigned task => open dialog with warn String[] args = new String[] { new Integer(assignedProps.size()).toString() }; - dialogBoxController = this.activateOkCancelDialog(ureq, "", getTranslator().translate("taskfolder.overwriting.confirm", args), dialogBoxController); + dialogBoxController = activateOkCancelDialog(ureq, "", getTranslator().translate("taskfolder.overwriting.confirm", args), dialogBoxController); } - } else if (source == vfButton) { - if (log.isDebug()) log.debug("Event for sampleVC"); + } else if (source == vfButton) { // switch to new dialog OlatNamedContainerImpl namedContainer = TACourseNode.getNodeFolderContainer(node, course.getCourseEnvironment()); Quota quota = QuotaManager.getInstance().getCustomQuota(namedContainer.getRelPath()); @@ -303,14 +302,12 @@ public class TACourseNodeEditController extends ActivateableTabbableDefaultContr Quota defQuota = QuotaManager.getInstance().getDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_NODES); quota = QuotaManager.getInstance().createQuota(namedContainer.getRelPath(), defQuota.getQuotaKB(), defQuota.getUlLimitKB()); } - VFSSecurityCallback secCallback = new FullAccessWithQuotaCallback(quota); + SubscriptionContext subContext = SolutionFileUploadNotificationHandler.getSubscriptionContext(course.getCourseEnvironment(), node); + VFSSecurityCallback secCallback = new FullAccessWithQuotaCallback(quota, subContext); namedContainer.setLocalSecurityCallback(secCallback); - CloseableModalController cmc = new CloseableModalController(getWindowControl(), translate("close"), - new FolderRunController(namedContainer, false, ureq, getWindowControl()).getInitialComponent()); + FolderRunController folderCtrl = new FolderRunController(namedContainer, false, ureq, getWindowControl()); + CloseableModalController cmc = new CloseableModalController(getWindowControl(), translate("close"), folderCtrl.getInitialComponent()); cmc.activate(); - - if (log.isDebug()) log.debug("Switch to sample folder dialog : DONE"); - return; } else if (source == editScoringConfigButton){ scoringController.setDisplayOnly(false); editScoring.contextPut("isOverwriting", new Boolean(true)); diff --git a/src/main/java/org/olat/course/nodes/ta/TACourseNodeRunController.java b/src/main/java/org/olat/course/nodes/ta/TACourseNodeRunController.java index 7b3d8a8f8efbecd332b6e273385cda0632241ccf..77473921b79b23c226b60d57cd231fe983e3fa86 100644 --- a/src/main/java/org/olat/course/nodes/ta/TACourseNodeRunController.java +++ b/src/main/java/org/olat/course/nodes/ta/TACourseNodeRunController.java @@ -103,7 +103,7 @@ public class TACourseNodeRunController extends BasicController { } if (hasSolution) { - solutionController = new SolutionController(ureq, wControl, ne.getCourseNode(), userCourseEnv, previewMode); + solutionController = new SolutionController(ureq, wControl, ne.getCourseNode(), userCourseEnv.getCourseEnvironment(), previewMode); content.put("solutionController", solutionController.getInitialComponent()); content.contextPut("hasSolution", Boolean.TRUE); }