mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Merged revision(s) 96306 from modules/recordsmanagement/DEV/BUGFIXING/HEAD-2014_12_09:
RM-1738 : Details page information is not shown for user with no permissions on parent folder - ran the check against the parent as system git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3@96362 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -22,6 +22,8 @@ import java.util.List;
|
|||||||
|
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.capability.declarative.AbstractCapabilityCondition;
|
import org.alfresco.module.org_alfresco_module_rm.capability.declarative.AbstractCapabilityCondition;
|
||||||
|
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||||
|
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
|
||||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.namespace.RegexQNamePattern;
|
import org.alfresco.service.namespace.RegexQNamePattern;
|
||||||
@@ -44,17 +46,25 @@ public class ClosedCapabilityCondition extends AbstractCapabilityCondition
|
|||||||
}
|
}
|
||||||
else if (recordService.isRecord(nodeRef))
|
else if (recordService.isRecord(nodeRef))
|
||||||
{
|
{
|
||||||
List<ChildAssociationRef> assocs = nodeService.getParentAssocs(nodeRef, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);
|
final List<ChildAssociationRef> assocs = nodeService.getParentAssocs(nodeRef, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);
|
||||||
for (ChildAssociationRef assoc : assocs)
|
|
||||||
|
result = AuthenticationUtil.runAsSystem(new RunAsWork<Boolean>()
|
||||||
{
|
{
|
||||||
NodeRef parent = assoc.getParentRef();
|
@Override
|
||||||
if (recordFolderService.isRecordFolder(parent) &&
|
public Boolean doWork()
|
||||||
recordFolderService.isRecordFolderClosed(parent))
|
|
||||||
{
|
{
|
||||||
result = true;
|
for (ChildAssociationRef assoc : assocs)
|
||||||
break;
|
{
|
||||||
|
NodeRef parent = assoc.getParentRef();
|
||||||
|
if (recordFolderService.isRecordFolder(parent) && recordFolderService.isRecordFolderClosed(parent))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user