Fix AR-377 - able to export everything regardless of permissions (run in background = false).

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2260 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2006-01-31 13:06:04 +00:00
parent 43833a3d46
commit 89abae6099
3 changed files with 89 additions and 41 deletions

View File

@@ -41,6 +41,7 @@ import org.alfresco.service.cmr.search.SearchService;
import org.alfresco.service.cmr.security.AccessPermission;
import org.alfresco.service.cmr.security.AuthenticationService;
import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.service.cmr.security.AccessStatus;
import org.alfresco.service.cmr.view.ExportPackageHandler;
import org.alfresco.service.cmr.view.Exporter;
import org.alfresco.service.cmr.view.ExporterContext;
@@ -333,16 +334,20 @@ public class ExporterComponent
exporter.endAspects(nodeRef);
// Export node permissions
Set<AccessPermission> permissions = permissionService.getAllSetPermissions(nodeRef);
boolean inheritPermissions = permissionService.getInheritParentPermissions(nodeRef);
if (permissions.size() > 0 || !inheritPermissions)
AccessStatus readPermission = permissionService.hasPermission(nodeRef, PermissionService.READ_PERMISSIONS);
if (readPermission.equals(AccessStatus.ALLOWED))
{
exporter.startACL(nodeRef);
for (AccessPermission permission : permissions)
Set<AccessPermission> permissions = permissionService.getAllSetPermissions(nodeRef);
boolean inheritPermissions = permissionService.getInheritParentPermissions(nodeRef);
if (permissions.size() > 0 || !inheritPermissions)
{
exporter.permission(nodeRef, permission);
exporter.startACL(nodeRef);
for (AccessPermission permission : permissions)
{
exporter.permission(nodeRef, permission);
}
exporter.endACL(nodeRef);
}
exporter.endACL(nodeRef);
}
// Export node properties