diff --git a/source/java/org/alfresco/web/bean/AdvancedSearchBean.java b/source/java/org/alfresco/web/bean/AdvancedSearchBean.java index cc9e00b91b..72d2697681 100644 --- a/source/java/org/alfresco/web/bean/AdvancedSearchBean.java +++ b/source/java/org/alfresco/web/bean/AdvancedSearchBean.java @@ -51,6 +51,7 @@ import org.alfresco.service.cmr.repository.MimetypeService; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.search.SearchService; +import org.alfresco.service.cmr.security.AccessStatus; import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; @@ -130,6 +131,14 @@ public class AdvancedSearchBean this.searchService = searchService; } + /** + * @param permissionService The PermissionService to set. + */ + public void setPermissionService(PermissionService permissionService) + { + this.permissionService = permissionService; + } + /** * @return Returns the progressive panels expanded state map. */ @@ -295,7 +304,13 @@ public class AdvancedSearchBean */ public boolean isAllowEdit() { - return (this.savedSearch != null && NO_SELECTION.equals(this.savedSearch) == false); + boolean allow = (this.savedSearch != null && NO_SELECTION.equals(this.savedSearch) == false); + if (allow) + { + NodeRef savedSearchRef = new NodeRef(Repository.getStoreRef(), this.savedSearch); + allow = (permissionService.hasPermission(savedSearchRef, PermissionService.WRITE) == AccessStatus.ALLOWED); + } + return allow; } /** @@ -1495,6 +1510,9 @@ public class AdvancedSearchBean /** SearchService bean reference */ private SearchService searchService; + /** PermissionService */ + private PermissionService permissionService; + /** Client Config reference */ private AdvancedSearchConfigElement searchConfigElement = null; diff --git a/source/web/WEB-INF/faces-config-beans.xml b/source/web/WEB-INF/faces-config-beans.xml index 6c97700f3e..95469e2d7b 100644 --- a/source/web/WEB-INF/faces-config-beans.xml +++ b/source/web/WEB-INF/faces-config-beans.xml @@ -169,6 +169,10 @@ searchService #{SearchService} + + permissionService + #{PermissionService} +