diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/security/FilePlanPermissionServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/security/FilePlanPermissionServiceImpl.java index 22f6e3067c..b5a1b14f3c 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/security/FilePlanPermissionServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/security/FilePlanPermissionServiceImpl.java @@ -331,10 +331,6 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl { NodeRef sourceCategory = oldChildAssocRef.getChildRef(); boolean inheritParentPermissions = permissionService.getInheritParentPermissions(sourceCategory); - if (!inheritParentPermissions) - { - permissionService.setInheritParentPermissions(sourceCategory, true); - } Set keepPerms = new HashSet(5); Set origionalCategoryPerms= permissionService.getAllSetPermissions(sourceCategory); @@ -362,6 +358,8 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl setPermission(sourceCategory, keeper.getAuthority(), keeper.getPermission()); } + permissionService.setInheritParentPermissions(sourceCategory, isFilePlan(newChildAssocRef.getParentRef()) ? false : inheritParentPermissions); + return null; } }, AuthenticationUtil.getSystemUserName()); @@ -418,6 +416,8 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl NodeRef record = sourceAssocRef.getChildRef(); if (nodeService.exists(record) && nodeService.hasAspect(record, ASPECT_RECORD)) { + boolean inheritParentPermissions = permissionService.getInheritParentPermissions(record); + Set keepPerms = new HashSet(5); Set origionalRecordPerms= permissionService.getAllSetPermissions(record); @@ -446,6 +446,8 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl { setPermission(record, keeper.getAuthority(), keeper.getPermission()); } + + permissionService.setInheritParentPermissions(record, inheritParentPermissions); } return null;