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

OO-1036: copy the quota from source to target root folder of the copied course

parent a226209e
No related branches found
No related tags found
No related merge requests found
...@@ -41,6 +41,7 @@ import java.util.concurrent.ConcurrentHashMap; ...@@ -41,6 +41,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.zip.ZipOutputStream; import java.util.zip.ZipOutputStream;
import org.apache.poi.util.IOUtils; import org.apache.poi.util.IOUtils;
import org.olat.admin.quota.QuotaConstants;
import org.olat.basesecurity.BaseSecurity; import org.olat.basesecurity.BaseSecurity;
import org.olat.basesecurity.BaseSecurityManager; import org.olat.basesecurity.BaseSecurityManager;
import org.olat.basesecurity.Constants; import org.olat.basesecurity.Constants;
...@@ -94,8 +95,11 @@ import org.olat.core.util.nodes.INode; ...@@ -94,8 +95,11 @@ import org.olat.core.util.nodes.INode;
import org.olat.core.util.resource.OresHelper; import org.olat.core.util.resource.OresHelper;
import org.olat.core.util.tree.TreeVisitor; import org.olat.core.util.tree.TreeVisitor;
import org.olat.core.util.tree.Visitor; import org.olat.core.util.tree.Visitor;
import org.olat.core.util.vfs.Quota;
import org.olat.core.util.vfs.QuotaManager;
import org.olat.core.util.vfs.VFSConstants; import org.olat.core.util.vfs.VFSConstants;
import org.olat.core.util.vfs.VFSContainer; import org.olat.core.util.vfs.VFSContainer;
import org.olat.core.util.vfs.VFSManager;
import org.olat.core.util.vfs.VFSStatus; import org.olat.core.util.vfs.VFSStatus;
import org.olat.core.util.xml.XStreamHelper; import org.olat.core.util.xml.XStreamHelper;
import org.olat.course.archiver.ScoreAccountingHelper; import org.olat.course.archiver.ScoreAccountingHelper;
...@@ -522,6 +526,17 @@ public class CourseFactory extends BasicManager { ...@@ -522,6 +526,17 @@ public class CourseFactory extends BasicManager {
DBFactory.getInstance(false).intermediateCommit(); DBFactory.getInstance(false).intermediateCommit();
} }
} }
// set quotas
Quota sourceQuota = VFSManager.isTopLevelQuotaContainer(sourceCourse.getCourseFolderContainer());
Quota targetQuota = VFSManager.isTopLevelQuotaContainer(targetCourse.getCourseFolderContainer());
if (sourceQuota != null && targetQuota != null) {
QuotaManager qm = QuotaManager.getInstance();
if (sourceQuota.getQuotaKB() != qm.getDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_COURSE).getQuotaKB()) {
targetQuota = qm.createQuota(targetQuota.getPath(), sourceQuota.getQuotaKB(), sourceQuota.getUlLimitKB());
qm.setCustomQuotaKB(targetQuota);
}
}
} }
return targetRes; return targetRes;
} }
......
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