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

OO-1016: give the folder controller of the return box a subscription context

parent 03ded7fe
No related branches found
No related tags found
No related merge requests found
......@@ -270,6 +270,15 @@ public class FolderRunController extends BasicController implements Activateable
putInitialPanel(folderContainer);
}
/**
* Remove the subscription panel but let the subscription context active
*/
public void disableSubscriptionController() {
if(csController != null) {
folderContainer.remove(csController.getInitialComponent());
}
}
public void setResourceURL(String resourceUrl) {
if(searchC != null) {
searchC.setResourceUrl(resourceUrl);
......
......@@ -170,6 +170,7 @@ public class DropboxScoringViewController extends BasicController {
namedReturnbox.setLocalSecurityCallback(getReturnboxVfsSecurityCallback(rootReturnbox.getRelPath()));
returnboxFolderRunController = new FolderRunController(namedReturnbox, false, ureq, getWindowControl());
returnboxFolderRunController.disableSubscriptionController();
listenTo(returnboxFolderRunController);
myContent.put("returnbox", returnboxFolderRunController.getInitialComponent());
......@@ -201,7 +202,9 @@ public class DropboxScoringViewController extends BasicController {
}
protected VFSSecurityCallback getReturnboxVfsSecurityCallback(String returnboxRelPath) {
return new ReturnboxFullAccessCallback(returnboxRelPath);
SubscriptionContext subscriptionContext = ReturnboxFileUploadNotificationHandler
.getSubscriptionContext(userCourseEnv.getCourseEnvironment(), node, getIdentity());
return new ReturnboxFullAccessCallback(returnboxRelPath, subscriptionContext);
}
/**
......@@ -402,8 +405,10 @@ class ReadOnlyAndDeleteCallback implements VFSSecurityCallback {
class ReturnboxFullAccessCallback implements VFSSecurityCallback {
private Quota quota;
private final SubscriptionContext subscriptionContext;
public ReturnboxFullAccessCallback(String relPath) {
public ReturnboxFullAccessCallback(String relPath, SubscriptionContext subscriptionContext) {
this.subscriptionContext = subscriptionContext;
QuotaManager qm = QuotaManager.getInstance();
quota = qm.getCustomQuota(relPath);
if (quota == null) { // if no custom quota set, use the default quotas...
......@@ -454,6 +459,6 @@ class ReturnboxFullAccessCallback implements VFSSecurityCallback {
* @see org.olat.modules.bc.callbacks.SecurityCallback#getSubscriptionContext()
*/
public SubscriptionContext getSubscriptionContext() {
return null;
return subscriptionContext;
}
}
......@@ -103,7 +103,7 @@ public class ReturnboxController extends BasicController {
// notification
if ( !previewMode && !ureq.getUserSession().getRoles().isGuestOnly()) {
// offer subscription, but not to guests
subsContext = ReturnboxFileUploadNotificationHandler.getSubscriptionContext(userCourseEnv, node, ureq.getIdentity());
subsContext = ReturnboxFileUploadNotificationHandler.getSubscriptionContext(userCourseEnv.getCourseEnvironment(), node, ureq.getIdentity());
if (subsContext != null) {
contextualSubscriptionCtr = AbstractTaskNotificationHandler.createContextualSubscriptionController(ureq, wControl, getReturnboxPathFor(
userCourseEnv.getCourseEnvironment(), node,ureq.getIdentity()), subsContext, ReturnboxController.class);
......
......@@ -33,7 +33,7 @@ import org.olat.core.util.notifications.NotificationsHandler;
import org.olat.core.util.notifications.SubscriptionContext;
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>
......@@ -52,8 +52,8 @@ public class ReturnboxFileUploadNotificationHandler extends AbstractTaskNotifica
//empty block
}
protected static SubscriptionContext getSubscriptionContext(UserCourseEnvironment userCourseEnv, CourseNode node, Identity identity) {
return CourseModule.createSubscriptionContext(userCourseEnv.getCourseEnvironment(), node, "Returnbox-" + identity.getKey());
protected static SubscriptionContext getSubscriptionContext(CourseEnvironment courseEnv, CourseNode node, Identity identity) {
return CourseModule.createSubscriptionContext(courseEnv, node, "Returnbox-" + identity.getKey());
}
protected String getCssClassIcon() {
......
......@@ -323,6 +323,7 @@ div.o_notifications_news_subscription {
margin: 1.5em 0 2em 0;
h4 { font-size: 110%; }
h4.o_returnbox_icon { background-image: url(../openolat/images/box_return.png) !important; }
h4.o_dropbox_icon { background-image: url(../openolat/images/box_drop.png) !important; }
}
div.o_notifications_news_context { color: #7D7D7D; font-size: 90%; }
div.o_notifications_news_content {
......
source diff could not be displayed: it is too large. Options to address this: view the blob.
source diff could not be displayed: it is too large. Options to address this: view the blob.
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