. Fix for AWC-508

- Stops users without permissions trying to overwrite existing Saved Searches

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2359 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2006-02-13 15:35:12 +00:00
parent f6c494900e
commit 7c1dec8b71
2 changed files with 23 additions and 1 deletions

View File

@@ -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;

View File

@@ -169,6 +169,10 @@
<property-name>searchService</property-name>
<value>#{SearchService}</value>
</managed-property>
<managed-property>
<property-name>permissionService</property-name>
<value>#{PermissionService}</value>
</managed-property>
</managed-bean>
<managed-bean>