. 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.NodeRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.search.SearchService; 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.cmr.security.PermissionService;
import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
@@ -130,6 +131,14 @@ public class AdvancedSearchBean
this.searchService = searchService; 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. * @return Returns the progressive panels expanded state map.
*/ */
@@ -295,7 +304,13 @@ public class AdvancedSearchBean
*/ */
public boolean isAllowEdit() 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 */ /** SearchService bean reference */
private SearchService searchService; private SearchService searchService;
/** PermissionService */
private PermissionService permissionService;
/** Client Config reference */ /** Client Config reference */
private AdvancedSearchConfigElement searchConfigElement = null; private AdvancedSearchConfigElement searchConfigElement = null;

View File

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