mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
RM-1741 (Moved root category doesn't inherit permissions)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.1.0.x@88772 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -499,12 +499,6 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
{
|
||||
if (canPerformPermissionAction(nodeRef))
|
||||
{
|
||||
if (RMPermissionModel.FILING.equals(permission))
|
||||
{
|
||||
// Remove record read permission before adding filing permission
|
||||
permissionService.deletePermission(nodeRef, authority, RMPermissionModel.READ_RECORDS);
|
||||
}
|
||||
|
||||
// Set the permission on the node
|
||||
permissionService.setPermission(nodeRef, authority, permission, true);
|
||||
}
|
||||
|
@@ -976,35 +976,45 @@ public class FilePlanPermissionServiceImplTest extends BaseRMTestCase
|
||||
}
|
||||
}, user2);
|
||||
|
||||
doTestInTransaction(new Test<NodeRef>()
|
||||
final NodeRef movedCategory5 = doTestInTransaction(new Test<NodeRef>()
|
||||
{
|
||||
@Override
|
||||
public NodeRef run() throws Exception
|
||||
{
|
||||
return fileFolderService.move(category5, category6, null).getNodeRef();
|
||||
}
|
||||
});
|
||||
|
||||
@Override
|
||||
public void test(final NodeRef movedCategory5) throws Exception
|
||||
{
|
||||
assertTrue(permissionService.getInheritParentPermissions(movedCategory5));
|
||||
assertFalse(permissionService.getInheritParentPermissions(category6));
|
||||
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(user1);
|
||||
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(movedCategory5, RMPermissionModel.READ_RECORDS));
|
||||
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(movedCategory5, RMPermissionModel.FILING));
|
||||
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(category6, RMPermissionModel.READ_RECORDS));
|
||||
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(category6, RMPermissionModel.FILING));
|
||||
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(user2);
|
||||
return null;
|
||||
}
|
||||
}, user1);
|
||||
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(movedCategory5, RMPermissionModel.READ_RECORDS));
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(movedCategory5, RMPermissionModel.FILING));
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(category6, RMPermissionModel.READ_RECORDS));
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(category6, RMPermissionModel.FILING));
|
||||
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}, user2);
|
||||
}
|
||||
|
||||
public void testPermissionsForMovedRecord()
|
||||
@@ -1094,19 +1104,20 @@ public class FilePlanPermissionServiceImplTest extends BaseRMTestCase
|
||||
}
|
||||
}, user3);
|
||||
|
||||
doTestInTransaction(new Test<NodeRef>()
|
||||
final NodeRef movedRecord8 = doTestInTransaction(new Test<NodeRef>()
|
||||
{
|
||||
@Override
|
||||
public NodeRef run() throws Exception
|
||||
{
|
||||
return fileFolderService.move(record8, folder7, null).getNodeRef();
|
||||
}
|
||||
});
|
||||
|
||||
@Override
|
||||
public void test(final NodeRef movedRecord8) throws Exception
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(user1);
|
||||
|
||||
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(category7, RMPermissionModel.READ_RECORDS));
|
||||
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(category7, RMPermissionModel.FILING));
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(folder7, RMPermissionModel.READ_RECORDS));
|
||||
@@ -1121,8 +1132,15 @@ public class FilePlanPermissionServiceImplTest extends BaseRMTestCase
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(movedRecord8, RMPermissionModel.READ_RECORDS));
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(movedRecord8, RMPermissionModel.FILING));
|
||||
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(user2);
|
||||
return null;
|
||||
}
|
||||
}, user1);
|
||||
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(category7, RMPermissionModel.READ_RECORDS));
|
||||
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(category7, RMPermissionModel.FILING));
|
||||
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(folder7, RMPermissionModel.READ_RECORDS));
|
||||
@@ -1137,8 +1155,15 @@ public class FilePlanPermissionServiceImplTest extends BaseRMTestCase
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(movedRecord8, RMPermissionModel.READ_RECORDS));
|
||||
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(movedRecord8, RMPermissionModel.FILING));
|
||||
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(user3);
|
||||
return null;
|
||||
}
|
||||
}, user2);
|
||||
|
||||
doTestInTransaction(new Test<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void run()
|
||||
{
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(category7, RMPermissionModel.READ_RECORDS));
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(category7, RMPermissionModel.FILING));
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(folder7, RMPermissionModel.READ_RECORDS));
|
||||
@@ -1152,7 +1177,9 @@ public class FilePlanPermissionServiceImplTest extends BaseRMTestCase
|
||||
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(folder8, RMPermissionModel.FILING));
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(movedRecord8, RMPermissionModel.READ_RECORDS));
|
||||
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(movedRecord8, RMPermissionModel.FILING));
|
||||
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}, user3);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user