Merged V3.2 to HEAD

16700: Fix for ETHREEOH-2509 - Leaving a private site breaks All Sites search for any term found in documents user created in that site.
   16703: Fix for ETHREEOH-2775 - "Show all" fails for user if permissions of folder that item was deleted from are changed to exclude them.
   16705: Fixes to Site Links dashlet component.
   16707: Fixed ETHREEOH-619 "User who is already a member of the site (or invite is pending) can be added to the invite list"

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16899 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2009-10-14 09:55:04 +00:00
parent fb35a5cf49
commit fa1e10081e
4 changed files with 47 additions and 10 deletions

View File

@@ -49,6 +49,8 @@ import org.alfresco.service.cmr.search.ResultSet;
import org.alfresco.service.cmr.search.ResultSetRow;
import org.alfresco.service.cmr.search.SearchParameters;
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.QName;
import org.alfresco.util.CachingDateFormat;
import org.alfresco.web.app.Application;
@@ -110,6 +112,27 @@ public class TrashcanDialog extends BaseDialogBean implements IContextListener
private final static String SEARCH_TEXT_QUOTED = "PARENT:\"%s\" AND ASPECT:\"%s\" AND TEXT:\"%s\"";
private final static String SEARCH_USERPREFIX = "@" + USER_ATTR + ":%s AND ";
/** The PermissionService reference */
transient protected PermissionService permissionService;
/**
* @param permissionService The PermissionService to set.
*/
public void setPermissionService(PermissionService permissionService)
{
this.permissionService = permissionService;
}
protected PermissionService getPermissionService()
{
if (permissionService == null)
{
permissionService = Repository.getServiceRegistry(FacesContext.getCurrentInstance()).getPermissionService();
}
return permissionService;
}
public void setProperty(TrashcanDialogProperty property)
{
this.property = property;
@@ -278,7 +301,8 @@ public class TrashcanDialog extends BaseDialogBean implements IContextListener
public Object get(Node node)
{
ChildAssociationRef childRef = (ChildAssociationRef)node.getProperties().get(ContentModel.PROP_ARCHIVED_ORIGINAL_PARENT_ASSOC);
if (getNodeService().exists(childRef.getParentRef()))
if (getPermissionService().hasPermission(childRef.getParentRef(), PermissionService.READ).equals(AccessStatus.ALLOWED) &&
getNodeService().exists(childRef.getParentRef()))
{
return getNodeService().getPath(childRef.getParentRef());
}
@@ -296,7 +320,8 @@ public class TrashcanDialog extends BaseDialogBean implements IContextListener
public Object get(Node node)
{
ChildAssociationRef childRef = (ChildAssociationRef)node.getProperties().get(ContentModel.PROP_ARCHIVED_ORIGINAL_PARENT_ASSOC);
if (getNodeService().exists(childRef.getParentRef()))
if (getPermissionService().hasPermission(childRef.getParentRef(), PermissionService.READ).equals(AccessStatus.ALLOWED) &&
getNodeService().exists(childRef.getParentRef()))
{
return Repository.getDisplayPath(getNodeService().getPath(childRef.getParentRef()), true);
}