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