RM-2260 (Users with read&file permissions on content can not classify it if they are not the owners)

+review RM @rwetherall

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106030 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2015-06-12 12:57:09 +00:00
parent 680eb43441
commit 55f79a339c

View File

@@ -18,9 +18,11 @@
*/ */
package org.alfresco.module.org_alfresco_module_rm.jscript.app; package org.alfresco.module.org_alfresco_module_rm.jscript.app;
import static org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel.READ_RECORDS;
import static org.alfresco.module.org_alfresco_module_rm.classification.ClassificationLevelManager.UNCLASSIFIED_ID; import static org.alfresco.module.org_alfresco_module_rm.classification.ClassificationLevelManager.UNCLASSIFIED_ID;
import static org.alfresco.module.org_alfresco_module_rm.classification.model.ClassifiedContentModel.ASPECT_CLASSIFIED; import static org.alfresco.module.org_alfresco_module_rm.classification.model.ClassifiedContentModel.ASPECT_CLASSIFIED;
import static org.alfresco.module.org_alfresco_module_rm.classification.model.ClassifiedContentModel.PROP_CURRENT_CLASSIFICATION; import static org.alfresco.module.org_alfresco_module_rm.classification.model.ClassifiedContentModel.PROP_CURRENT_CLASSIFICATION;
import static org.alfresco.service.cmr.security.AccessStatus.ALLOWED;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@@ -497,16 +499,22 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS
/** /**
* @see org.alfresco.repo.jscript.app.JSONConversionComponent#permissionsToJSON(org.alfresco.service.cmr.repository.NodeRef) * @see org.alfresco.repo.jscript.app.JSONConversionComponent#permissionsToJSON(org.alfresco.service.cmr.repository.NodeRef)
*/ */
@SuppressWarnings("unchecked")
protected JSONObject permissionsToJSON(final NodeRef nodeRef) protected JSONObject permissionsToJSON(final NodeRef nodeRef)
{ {
JSONObject permissionsJSON = null; JSONObject permissionsJSON = new JSONObject();
if (!filePlanService.isFilePlanComponent(nodeRef)) if (!filePlanService.isFilePlanComponent(nodeRef))
{ {
permissionsJSON = super.permissionsToJSON(nodeRef); permissionsJSON = super.permissionsToJSON(nodeRef);
} }
else else
{ {
permissionsJSON = new JSONObject(); if (ALLOWED.equals(permissionService.hasPermission(nodeRef, READ_RECORDS)))
{
permissionsJSON.put("inherited", permissionService.getInheritParentPermissions(nodeRef));
permissionsJSON.put("roles", allSetPermissionsToJSON(nodeRef));
permissionsJSON.put("user", userPermissionsToJSON(nodeRef));
}
} }
return permissionsJSON; return permissionsJSON;
} }