diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/security/ProtectedProperty.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/security/ProtectedProperty.java index 60a64cf3e4..d95ed87b59 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/security/ProtectedProperty.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/security/ProtectedProperty.java @@ -19,18 +19,27 @@ package org.alfresco.module.org_alfresco_module_rm.model.security; /** + * Protected property implementation + * * @author Roy Wetherall * @since 2.1 */ public class ProtectedProperty extends ProtectedModelArtifact { + /** always allow new indicator */ private boolean allwaysAllowNew = false; + /** + * @param allwaysAllowNew true if always allow new, false otherwise + */ public void setAllwaysAllowNew(boolean allwaysAllowNew) { this.allwaysAllowNew = allwaysAllowNew; } + /** + * @return true if always allow new, false otherwise + */ public boolean isAllwaysAllowNew() { return allwaysAllowNew; 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 2a038e088a..5156348105 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 @@ -422,11 +422,26 @@ public class FilePlanPermissionServiceImpl implements FilePlanPermissionService, private void setReadPermissionUp(NodeRef nodeRef, String authority) { NodeRef parent = nodeService.getPrimaryParent(nodeRef).getParentRef(); - if (parent != null && - filePlanService.isFilePlan(parent) == false) + if (parent != null && filePlanService.isFilePlanComponent(parent) == true) { - setPermissionImpl(parent, authority, RMPermissionModel.READ_RECORDS); - setReadPermissionUp(parent, authority); + setReadPermissionUpImpl(parent, authority); + } + } + + /** + * Helper method used to set the read permission up the hierarchy + * + * @param nodeRef node reference + * @param authority authority + */ + private void setReadPermissionUpImpl(NodeRef nodeRef, String authority) + { + setPermissionImpl(nodeRef, authority, RMPermissionModel.READ_RECORDS); + + NodeRef parent = nodeService.getPrimaryParent(nodeRef).getParentRef(); + if (parent != null && filePlanService.isFilePlanComponent(parent) == true) + { + setReadPermissionUpImpl(parent, authority); } }