From fcfee0de8bd8c460adee05314151699fa340a20c Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 4 Jul 2012 14:17:49 +0200 Subject: [PATCH] OO-291: add permission group to resource --- .../org/olat/group/manager/BusinessGroupServiceImpl.java | 9 +++++++++ .../java/org/olat/group/test/BGRightManagerTest.java | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java index a378abfeab4..acd487be3d3 100644 --- a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java +++ b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java @@ -198,6 +198,9 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD if(resource instanceof OLATResourceImpl) { businessGroupRelationDAO.addRelationToResource(group, resource); + //add coach and participant permission + securityManager.createAndPersistPolicyWithResource(group.getOwnerGroup(), Constants.PERMISSION_COACH, resource); + securityManager.createAndPersistPolicyWithResource(group.getPartipiciantGroup(), Constants.PERMISSION_PARTI, resource); } return group; } @@ -1146,11 +1149,17 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD @Transactional public void addResourceTo(BusinessGroup group, OLATResource resource) { businessGroupRelationDAO.addRelationToResource(group, resource); + //add coach and participant permission + securityManager.createAndPersistPolicyWithResource(group.getOwnerGroup(), Constants.PERMISSION_COACH, resource); + securityManager.createAndPersistPolicyWithResource(group.getPartipiciantGroup(), Constants.PERMISSION_PARTI, resource); } @Override public void removeResourceFrom(BusinessGroup group, OLATResource resource) { businessGroupRelationDAO.deleteRelation(group, resource); + //remove permission + securityManager.deletePolicy(group.getOwnerGroup(), Constants.PERMISSION_COACH, resource); + securityManager.deletePolicy(group.getPartipiciantGroup(), Constants.PERMISSION_PARTI, resource); } @Override diff --git a/src/test/java/org/olat/group/test/BGRightManagerTest.java b/src/test/java/org/olat/group/test/BGRightManagerTest.java index cde72c59831..a72ba23a346 100644 --- a/src/test/java/org/olat/group/test/BGRightManagerTest.java +++ b/src/test/java/org/olat/group/test/BGRightManagerTest.java @@ -236,7 +236,7 @@ public class BGRightManagerTest extends OlatTestCase { Assert.assertEquals(2, identities.size()); List<Policy> policies = securityManager.getPoliciesOfSecurityGroup(g1.getPartipiciantGroup()); - Assert.assertEquals(3, policies.size()); // read, archiving, courseeditor + Assert.assertEquals(4, policies.size()); // read, parti, archiving, courseeditor DBFactory.getInstance().closeSession(); // simulate user clicks assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id1, c2)); -- GitLab