MNT-16852: Refactor hasPermission method for readability

This commit is contained in:
David Webster
2016-10-11 12:57:38 +01:00
parent 66c9ffe848
commit 5cfcd584a5

View File

@@ -87,19 +87,21 @@ public class RMPermissionServiceImpl extends PermissionServiceImpl
public AccessStatus hasPermission(NodeRef nodeRef, String perm) public AccessStatus hasPermission(NodeRef nodeRef, String perm)
{ {
AccessStatus acs = super.hasPermission(nodeRef, perm); AccessStatus acs = super.hasPermission(nodeRef, perm);
if (AccessStatus.DENIED.equals(acs) && if (AccessStatus.DENIED.equals(acs) &&
PermissionService.READ.equals(perm) &&
nodeService.hasAspect(nodeRef, RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT)) nodeService.hasAspect(nodeRef, RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT))
{
if (PermissionService.READ.equals(perm))
{ {
return super.hasPermission(nodeRef, RMPermissionModel.READ_RECORDS); return super.hasPermission(nodeRef, RMPermissionModel.READ_RECORDS);
} }
// Added ADD_CHILDREN and WRITE_PROPERTIES check in for MNT-16852. else if (PermissionService.WRITE.equals(perm) ||
else if (AccessStatus.DENIED.equals(acs) && PermissionService.ADD_CHILDREN.equals(perm) ||
(PermissionService.WRITE.equals(perm) || PermissionService.ADD_CHILDREN.equals(perm) || PermissionService.WRITE_PROPERTIES.equals(perm)) && PermissionService.WRITE_PROPERTIES.equals(perm))
nodeService.hasAspect(nodeRef, RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT))
{ {
return super.hasPermission(nodeRef, RMPermissionModel.FILE_RECORDS); return super.hasPermission(nodeRef, RMPermissionModel.FILE_RECORDS);
} }
}
return acs; return acs;
} }