Search in sources :

Example 6 with Quota

use of org.olat.core.util.vfs.Quota in project openolat by klemens.

the class QuotaManagerImpl method initDefaultQuotas.

private void initDefaultQuotas() {
    defaultQuotas = new HashMap<String, Quota>();
    Quota defaultQuotaUsers = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_USERS);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_USERS, defaultQuotaUsers);
    Quota defaultQuotaPowerusers = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_POWER);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_POWER, defaultQuotaPowerusers);
    Quota defaultQuotaGroups = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_GROUPS);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_GROUPS, defaultQuotaGroups);
    Quota defaultQuotaRepository = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_REPO);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_REPO, defaultQuotaRepository);
    Quota defaultQuotaCourseFolder = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_COURSE);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_COURSE, defaultQuotaCourseFolder);
    Quota defaultQuotaNodeFolder = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_NODES);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_NODES, defaultQuotaNodeFolder);
    Quota defaultQuotaFeed = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_FEEDS);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_FEEDS, defaultQuotaFeed);
}
Also used : Quota(org.olat.core.util.vfs.Quota)

Example 7 with Quota

use of org.olat.core.util.vfs.Quota in project OpenOLAT by OpenOLAT.

the class FolderRunController method enableDisableQuota.

private void enableDisableQuota(UserRequest ureq) {
    // prevent a timing condition if the user logout while a thumbnail is generated
    UserSession usess = ureq.getUserSession();
    if (usess == null || usess.getRoles() == null) {
        return;
    }
    Boolean newEditQuota = Boolean.FALSE;
    if (usess.getRoles().isOLATAdmin() || usess.getRoles().isInstitutionalResourceManager()) {
        // Only sys admins or institutonal resource managers can have the quota button
        Quota q = VFSManager.isTopLevelQuotaContainer(folderComponent.getCurrentContainer());
        newEditQuota = (q == null) ? Boolean.FALSE : Boolean.TRUE;
    }
    Boolean currentEditQuota = (Boolean) folderContainer.contextGet("editQuota");
    // not make the component dirty after asynchronous thumbnail loading
    if (currentEditQuota == null || !currentEditQuota.equals(newEditQuota)) {
        folderContainer.contextPut("editQuota", newEditQuota);
    }
}
Also used : Quota(org.olat.core.util.vfs.Quota) CmdEditQuota(org.olat.core.commons.modules.bc.commands.CmdEditQuota) UserSession(org.olat.core.util.UserSession)

Example 8 with Quota

use of org.olat.core.util.vfs.Quota in project OpenOLAT by OpenOLAT.

the class FullAccessWithLazyQuotaCallback method getQuota.

@Override
public Quota getQuota() {
    if (super.getQuota() == null) {
        QuotaManager qm = QuotaManager.getInstance();
        Quota q = qm.getCustomQuota(folderPath);
        if (q == null) {
            Quota defQuota = qm.getDefaultQuota(defaultQuota);
            q = QuotaManager.getInstance().createQuota(folderPath, defQuota.getQuotaKB(), defQuota.getUlLimitKB());
        }
        super.setQuota(q);
    }
    return super.getQuota();
}
Also used : Quota(org.olat.core.util.vfs.Quota) QuotaManager(org.olat.core.util.vfs.QuotaManager)

Example 9 with Quota

use of org.olat.core.util.vfs.Quota in project OpenOLAT by OpenOLAT.

the class QuotaManagerImpl method parseQuota.

/**
 * @param name Path of the quota
 * @param s
 * @return Parsed quota object.
 */
private Quota parseQuota(String name, String s) {
    int delim = s.indexOf(':');
    if (delim == -1)
        return null;
    Quota q = null;
    try {
        Long quotaKB = new Long(s.substring(0, delim));
        Long ulLimitKB = new Long(s.substring(delim + 1));
        q = createQuota(name, quotaKB, ulLimitKB);
    } catch (NumberFormatException e) {
    // will return null if quota parsing failed
    }
    return q;
}
Also used : Quota(org.olat.core.util.vfs.Quota)

Example 10 with Quota

use of org.olat.core.util.vfs.Quota in project OpenOLAT by OpenOLAT.

the class QuotaManagerImpl method initDefaultQuotas.

private void initDefaultQuotas() {
    defaultQuotas = new HashMap<String, Quota>();
    Quota defaultQuotaUsers = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_USERS);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_USERS, defaultQuotaUsers);
    Quota defaultQuotaPowerusers = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_POWER);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_POWER, defaultQuotaPowerusers);
    Quota defaultQuotaGroups = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_GROUPS);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_GROUPS, defaultQuotaGroups);
    Quota defaultQuotaRepository = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_REPO);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_REPO, defaultQuotaRepository);
    Quota defaultQuotaCourseFolder = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_COURSE);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_COURSE, defaultQuotaCourseFolder);
    Quota defaultQuotaNodeFolder = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_NODES);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_NODES, defaultQuotaNodeFolder);
    Quota defaultQuotaFeed = initDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_FEEDS);
    defaultQuotas.put(QuotaConstants.IDENTIFIER_DEFAULT_FEEDS, defaultQuotaFeed);
}
Also used : Quota(org.olat.core.util.vfs.Quota)

Aggregations

Quota (org.olat.core.util.vfs.Quota)50 QuotaManager (org.olat.core.util.vfs.QuotaManager)18 OlatRootFolderImpl (org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl)12 FullAccessWithQuotaCallback (org.olat.core.util.vfs.callbacks.FullAccessWithQuotaCallback)12 CollaborationTools (org.olat.collaboration.CollaborationTools)6 OlatNamedContainerImpl (org.olat.core.commons.modules.bc.vfs.OlatNamedContainerImpl)6 SubscriptionContext (org.olat.core.commons.services.notifications.SubscriptionContext)6 VFSSecurityCallback (org.olat.core.util.vfs.callbacks.VFSSecurityCallback)6 BusinessGroup (org.olat.group.BusinessGroup)6 Property (org.olat.properties.Property)6 Path (javax.ws.rs.Path)4 FolderRunController (org.olat.core.commons.modules.bc.FolderRunController)4 MultipleSelectionElement (org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement)4 CloseableModalController (org.olat.core.gui.control.generic.closablewrapper.CloseableModalController)4 Identity (org.olat.core.id.Identity)4 VFSContainer (org.olat.core.util.vfs.VFSContainer)4 VFSWebServiceSecurityCallback (org.olat.core.util.vfs.restapi.VFSWebServiceSecurityCallback)4 VFSWebservice (org.olat.core.util.vfs.restapi.VFSWebservice)4 BusinessGroupService (org.olat.group.BusinessGroupService)4 File (java.io.File)2