diff --git a/config/alfresco/template-services-context.xml b/config/alfresco/template-services-context.xml index 1606b2d982..292d860418 100644 --- a/config/alfresco/template-services-context.xml +++ b/config/alfresco/template-services-context.xml @@ -71,6 +71,12 @@ + + + hasPermission + + + message diff --git a/source/java/org/alfresco/service/cmr/repository/TemplateNode.java b/source/java/org/alfresco/service/cmr/repository/TemplateNode.java index 3e09d4b700..02cf760072 100644 --- a/source/java/org/alfresco/service/cmr/repository/TemplateNode.java +++ b/source/java/org/alfresco/service/cmr/repository/TemplateNode.java @@ -49,6 +49,7 @@ import org.alfresco.service.cmr.audit.AuditInfo; import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.lock.LockStatus; import org.alfresco.service.cmr.security.AccessPermission; +import org.alfresco.service.cmr.security.AccessStatus; import org.alfresco.service.cmr.version.Version; import org.alfresco.service.cmr.version.VersionHistory; import org.alfresco.service.namespace.QName; @@ -676,6 +677,16 @@ public class TemplateNode implements Serializable return this.services.getPermissionService().getInheritParentPermissions(this.nodeRef); } + /** + * @param permission Permission name to test + * + * @return true if the current user is granted the specified permission on the node + */ + public boolean hasPermission(String permission) + { + return (this.services.getPermissionService().hasPermission(this.nodeRef, permission) == AccessStatus.ALLOWED); + } + // ------------------------------------------------------------------------------ // Search API