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

OO-291: add permission group to resource

parent 8cb7ac3f
No related branches found
No related tags found
No related merge requests found
...@@ -198,6 +198,9 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD ...@@ -198,6 +198,9 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
if(resource instanceof OLATResourceImpl) { if(resource instanceof OLATResourceImpl) {
businessGroupRelationDAO.addRelationToResource(group, 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);
} }
return group; return group;
} }
...@@ -1146,11 +1149,17 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD ...@@ -1146,11 +1149,17 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
@Transactional @Transactional
public void addResourceTo(BusinessGroup group, OLATResource resource) { public void addResourceTo(BusinessGroup group, OLATResource resource) {
businessGroupRelationDAO.addRelationToResource(group, 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 @Override
public void removeResourceFrom(BusinessGroup group, OLATResource resource) { public void removeResourceFrom(BusinessGroup group, OLATResource resource) {
businessGroupRelationDAO.deleteRelation(group, resource); businessGroupRelationDAO.deleteRelation(group, resource);
//remove permission
securityManager.deletePolicy(group.getOwnerGroup(), Constants.PERMISSION_COACH, resource);
securityManager.deletePolicy(group.getPartipiciantGroup(), Constants.PERMISSION_PARTI, resource);
} }
@Override @Override
......
...@@ -236,7 +236,7 @@ public class BGRightManagerTest extends OlatTestCase { ...@@ -236,7 +236,7 @@ public class BGRightManagerTest extends OlatTestCase {
Assert.assertEquals(2, identities.size()); Assert.assertEquals(2, identities.size());
List<Policy> policies = securityManager.getPoliciesOfSecurityGroup(g1.getPartipiciantGroup()); 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 DBFactory.getInstance().closeSession(); // simulate user clicks
assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id1, c2)); assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id1, c2));
......
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