From fcc38b04376e7d9d58572b3b6d55eacf89cc8cee Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Tue, 21 Mar 2017 14:32:35 +0100 Subject: [PATCH] OO-2631: fix default quota for group and course folder --- .../vfs/callbacks/FullAccessWithLazyQuotaCallback.java | 10 ++++++---- .../java/org/olat/course/PersistingCourseImpl.java | 3 ++- .../org/olat/group/GroupfoldersWebDAVMergeSource.java | 3 ++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/olat/core/util/vfs/callbacks/FullAccessWithLazyQuotaCallback.java b/src/main/java/org/olat/core/util/vfs/callbacks/FullAccessWithLazyQuotaCallback.java index 64cb697e669..87612acda81 100644 --- a/src/main/java/org/olat/core/util/vfs/callbacks/FullAccessWithLazyQuotaCallback.java +++ b/src/main/java/org/olat/core/util/vfs/callbacks/FullAccessWithLazyQuotaCallback.java @@ -19,7 +19,6 @@ */ package org.olat.core.util.vfs.callbacks; -import org.olat.admin.quota.QuotaConstants; import org.olat.core.commons.services.notifications.SubscriptionContext; import org.olat.core.util.vfs.Quota; import org.olat.core.util.vfs.QuotaManager; @@ -33,15 +32,18 @@ import org.olat.core.util.vfs.QuotaManager; public class FullAccessWithLazyQuotaCallback extends FullAccessWithQuotaCallback { private final String folderPath; + private final String defaultQuota; - public FullAccessWithLazyQuotaCallback(String folderPath) { + public FullAccessWithLazyQuotaCallback(String folderPath, String defaultQuota) { super(null); this.folderPath = folderPath; + this.defaultQuota = defaultQuota; } - public FullAccessWithLazyQuotaCallback(String folderPath, SubscriptionContext subscriptionContext) { + public FullAccessWithLazyQuotaCallback(String folderPath, String defaultQuota, SubscriptionContext subscriptionContext) { super(null, subscriptionContext); this.folderPath = folderPath; + this.defaultQuota = defaultQuota; } @Override @@ -50,7 +52,7 @@ public class FullAccessWithLazyQuotaCallback extends FullAccessWithQuotaCallback QuotaManager qm = QuotaManager.getInstance(); Quota q = qm.getCustomQuota(folderPath); if (q == null) { - Quota defQuota = qm.getDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_GROUPS); + Quota defQuota = qm.getDefaultQuota(defaultQuota); q = QuotaManager.getInstance().createQuota(folderPath, defQuota.getQuotaKB(), defQuota.getUlLimitKB()); } super.setQuota(q); diff --git a/src/main/java/org/olat/course/PersistingCourseImpl.java b/src/main/java/org/olat/course/PersistingCourseImpl.java index 01b34af8ec3..8b3374444af 100644 --- a/src/main/java/org/olat/course/PersistingCourseImpl.java +++ b/src/main/java/org/olat/course/PersistingCourseImpl.java @@ -28,6 +28,7 @@ package org.olat.course; import java.io.File; import java.io.Serializable; +import org.olat.admin.quota.QuotaConstants; import org.olat.core.CoreSpringFactory; import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl; import org.olat.core.commons.persistence.DBFactory; @@ -247,7 +248,7 @@ public class PersistingCourseImpl implements ICourse, OLATResourceable, Serializ "could not create course's coursefolder path:" + fCourseFolder.getAbsolutePath(), null); } - FullAccessWithQuotaCallback secCallback = new FullAccessWithLazyQuotaCallback(isolatedCourseFolder.getRelPath()); + FullAccessWithQuotaCallback secCallback = new FullAccessWithLazyQuotaCallback(isolatedCourseFolder.getRelPath(), QuotaConstants.IDENTIFIER_DEFAULT_COURSE); isolatedCourseFolder.setLocalSecurityCallback(secCallback); return isolatedCourseFolder; } diff --git a/src/main/java/org/olat/group/GroupfoldersWebDAVMergeSource.java b/src/main/java/org/olat/group/GroupfoldersWebDAVMergeSource.java index d0e4179b3fb..d6ed5aad7bd 100644 --- a/src/main/java/org/olat/group/GroupfoldersWebDAVMergeSource.java +++ b/src/main/java/org/olat/group/GroupfoldersWebDAVMergeSource.java @@ -24,6 +24,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import org.olat.admin.quota.QuotaConstants; import org.olat.collaboration.CollaborationManager; import org.olat.collaboration.CollaborationTools; import org.olat.core.CoreSpringFactory; @@ -134,7 +135,7 @@ class GroupfoldersWebDAVMergeSource extends WebDAVMergeSource { VFSSecurityCallback secCallback; if(writeAccess) { SubscriptionContext sc = new SubscriptionContext(group, "toolfolder"); - secCallback = new FullAccessWithLazyQuotaCallback(folderPath, sc); + secCallback = new FullAccessWithLazyQuotaCallback(folderPath, QuotaConstants.IDENTIFIER_DEFAULT_GROUPS, sc); } else { secCallback = new ReadOnlyCallback(); } -- GitLab