Search in sources :

Example 1 with Policy

use of org.olat.basesecurity.Policy in project OpenOLAT by OpenOLAT.

the class OLATUpgrade_10_0_3 method findBGRights.

private List<String> findBGRights(SecurityGroup secGroup) {
    List<Policy> results = securityManager.getPoliciesOfSecurityGroup(secGroup);
    // filter all business group rights permissions. group right permissions
    // start with bgr.
    List<String> rights = new ArrayList<String>();
    for (Policy rightPolicy : results) {
        String right = rightPolicy.getPermission();
        if (right.indexOf("bgr.") == 0)
            rights.add(right);
    }
    return rights;
}
Also used : Policy(org.olat.basesecurity.Policy) ArrayList(java.util.ArrayList)

Example 2 with Policy

use of org.olat.basesecurity.Policy in project OpenOLAT by OpenOLAT.

the class EPFrontendManagerTest method deleteMap_withOldPolicy.

@Test
public void deleteMap_withOldPolicy() {
    // create map
    Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("frtuse-7");
    PortfolioStructureMap map = epFrontendManager.createAndPersistPortfolioDefaultMap(id, "Delete map", "Description");
    PortfolioStructure page = epFrontendManager.createAndPersistPortfolioPage(map, "Page while be deleted", "Page description");
    AbstractArtefact artefact = epFrontendManager.createAndPersistArtefact(id, "Forum");
    epFrontendManager.addArtefactToStructure(id, artefact, page);
    dbInstance.commit();
    // create an old policy manually
    SecurityGroup secGroup = securityManager.createAndPersistSecurityGroup();
    Policy policy = securityManager.createAndPersistPolicy(secGroup, "allusers_" + Constants.PERMISSION_READ, map.getOlatResource());
    Assert.assertNotNull(policy);
    dbInstance.commitAndCloseSession();
    // delete the map
    PortfolioStructure reloadedMap = epFrontendManager.loadPortfolioStructureByKey(map.getKey());
    epFrontendManager.deletePortfolioStructure(reloadedMap);
    dbInstance.commit();
}
Also used : PortfolioStructureMap(org.olat.portfolio.model.structel.PortfolioStructureMap) Policy(org.olat.basesecurity.Policy) EPMapPolicy(org.olat.portfolio.manager.EPMapPolicy) PortfolioStructure(org.olat.portfolio.model.structel.PortfolioStructure) AbstractArtefact(org.olat.portfolio.model.artefacts.AbstractArtefact) Identity(org.olat.core.id.Identity) SecurityGroup(org.olat.basesecurity.SecurityGroup) Test(org.junit.Test)

Example 3 with Policy

use of org.olat.basesecurity.Policy in project OpenOLAT by OpenOLAT.

the class OLATUpgrade_10_0_0 method processMap.

private void processMap(EPMapUpgrade map) {
    if (hasGroupsRelations(map)) {
        return;
    }
    Set<EPMapUpgradeToGroupRelation> relations = new HashSet<>();
    SecurityGroup ownerGroup = map.getOwnerGroup();
    if (ownerGroup != null) {
        // create default group
        RepositoryEntryUpgrade re = findMapRepoEntry(ownerGroup);
        if (re != null) {
            Group reGroup = repositoryEntryToGroupDAO.getDefaultGroup(re);
            if (reGroup != null) {
                relations.add(createDefaultGroup(map, reGroup));
            }
        }
        if (relations.isEmpty()) {
            Group group = groupDao.createGroup();
            relations.add(createDefaultGroup(map, group));
            processSecurityGroup(group, GroupRoles.owner.name(), ownerGroup);
        }
        // create policy -> relation
        List<Policy> policies = securityManager.getPoliciesOfResource(map.getOlatResource(), null);
        for (Policy policy : policies) {
            if (policy.getPermission().contains(Constants.PERMISSION_READ)) {
                EPMapUpgradeToGroupRelation policyRelation = processMapPolicy(policy, map);
                if (policyRelation != null) {
                    relations.add(policyRelation);
                }
            }
        }
        for (EPMapUpgradeToGroupRelation relation : relations) {
            dbInstance.getCurrentEntityManager().persist(relation);
        }
    }
}
Also used : Policy(org.olat.basesecurity.Policy) EPMapPolicy(org.olat.portfolio.manager.EPMapPolicy) RepositoryEntryUpgrade(org.olat.upgrade.model.RepositoryEntryUpgrade) Group(org.olat.basesecurity.Group) SecurityGroup(org.olat.basesecurity.SecurityGroup) EPMapUpgradeToGroupRelation(org.olat.upgrade.model.EPMapUpgradeToGroupRelation) SecurityGroup(org.olat.basesecurity.SecurityGroup) HashSet(java.util.HashSet)

Example 4 with Policy

use of org.olat.basesecurity.Policy in project openolat by klemens.

the class EPFrontendManagerTest method deleteMap_withOldPolicy.

@Test
public void deleteMap_withOldPolicy() {
    // create map
    Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("frtuse-7");
    PortfolioStructureMap map = epFrontendManager.createAndPersistPortfolioDefaultMap(id, "Delete map", "Description");
    PortfolioStructure page = epFrontendManager.createAndPersistPortfolioPage(map, "Page while be deleted", "Page description");
    AbstractArtefact artefact = epFrontendManager.createAndPersistArtefact(id, "Forum");
    epFrontendManager.addArtefactToStructure(id, artefact, page);
    dbInstance.commit();
    // create an old policy manually
    SecurityGroup secGroup = securityManager.createAndPersistSecurityGroup();
    Policy policy = securityManager.createAndPersistPolicy(secGroup, "allusers_" + Constants.PERMISSION_READ, map.getOlatResource());
    Assert.assertNotNull(policy);
    dbInstance.commitAndCloseSession();
    // delete the map
    PortfolioStructure reloadedMap = epFrontendManager.loadPortfolioStructureByKey(map.getKey());
    epFrontendManager.deletePortfolioStructure(reloadedMap);
    dbInstance.commit();
}
Also used : PortfolioStructureMap(org.olat.portfolio.model.structel.PortfolioStructureMap) Policy(org.olat.basesecurity.Policy) EPMapPolicy(org.olat.portfolio.manager.EPMapPolicy) PortfolioStructure(org.olat.portfolio.model.structel.PortfolioStructure) AbstractArtefact(org.olat.portfolio.model.artefacts.AbstractArtefact) Identity(org.olat.core.id.Identity) SecurityGroup(org.olat.basesecurity.SecurityGroup) Test(org.junit.Test)

Example 5 with Policy

use of org.olat.basesecurity.Policy in project openolat by klemens.

the class OLATUpgrade_10_0_0 method processMap.

private void processMap(EPMapUpgrade map) {
    if (hasGroupsRelations(map)) {
        return;
    }
    Set<EPMapUpgradeToGroupRelation> relations = new HashSet<>();
    SecurityGroup ownerGroup = map.getOwnerGroup();
    if (ownerGroup != null) {
        // create default group
        RepositoryEntryUpgrade re = findMapRepoEntry(ownerGroup);
        if (re != null) {
            Group reGroup = repositoryEntryToGroupDAO.getDefaultGroup(re);
            if (reGroup != null) {
                relations.add(createDefaultGroup(map, reGroup));
            }
        }
        if (relations.isEmpty()) {
            Group group = groupDao.createGroup();
            relations.add(createDefaultGroup(map, group));
            processSecurityGroup(group, GroupRoles.owner.name(), ownerGroup);
        }
        // create policy -> relation
        List<Policy> policies = securityManager.getPoliciesOfResource(map.getOlatResource(), null);
        for (Policy policy : policies) {
            if (policy.getPermission().contains(Constants.PERMISSION_READ)) {
                EPMapUpgradeToGroupRelation policyRelation = processMapPolicy(policy, map);
                if (policyRelation != null) {
                    relations.add(policyRelation);
                }
            }
        }
        for (EPMapUpgradeToGroupRelation relation : relations) {
            dbInstance.getCurrentEntityManager().persist(relation);
        }
    }
}
Also used : Policy(org.olat.basesecurity.Policy) EPMapPolicy(org.olat.portfolio.manager.EPMapPolicy) RepositoryEntryUpgrade(org.olat.upgrade.model.RepositoryEntryUpgrade) Group(org.olat.basesecurity.Group) SecurityGroup(org.olat.basesecurity.SecurityGroup) EPMapUpgradeToGroupRelation(org.olat.upgrade.model.EPMapUpgradeToGroupRelation) SecurityGroup(org.olat.basesecurity.SecurityGroup) HashSet(java.util.HashSet)

Aggregations

Policy (org.olat.basesecurity.Policy)6 SecurityGroup (org.olat.basesecurity.SecurityGroup)4 EPMapPolicy (org.olat.portfolio.manager.EPMapPolicy)4 ArrayList (java.util.ArrayList)2 HashSet (java.util.HashSet)2 Test (org.junit.Test)2 Group (org.olat.basesecurity.Group)2 Identity (org.olat.core.id.Identity)2 AbstractArtefact (org.olat.portfolio.model.artefacts.AbstractArtefact)2 PortfolioStructure (org.olat.portfolio.model.structel.PortfolioStructure)2 PortfolioStructureMap (org.olat.portfolio.model.structel.PortfolioStructureMap)2 EPMapUpgradeToGroupRelation (org.olat.upgrade.model.EPMapUpgradeToGroupRelation)2 RepositoryEntryUpgrade (org.olat.upgrade.model.RepositoryEntryUpgrade)2