From c66bcfd0f0856f194ba4c6621ce3229fdaa31bcb Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Tue, 10 Jun 2014 13:24:19 +0000 Subject: [PATCH] RM-1429 (The user with read-only permissions on the item can unfreeze it via deleting hold) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@73493 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org_alfresco_module_rm/hold/HoldServiceImpl.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java index 7a7171daba..05ba9061cc 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java @@ -409,7 +409,7 @@ public class HoldServiceImpl extends ServiceBaseImpl * @see org.alfresco.module.org_alfresco_module_rm.hold.HoldService#deleteHold(org.alfresco.service.cmr.repository.NodeRef) */ @Override - public void deleteHold(NodeRef hold) + public void deleteHold(final NodeRef hold) { ParameterCheck.mandatory("hold", hold); @@ -418,7 +418,15 @@ public class HoldServiceImpl extends ServiceBaseImpl throw new AlfrescoRuntimeException("Can't delete hold, becuase passed node is not a hold. (hold=" + hold.toString() + ")"); } - List held = getHeld(hold); + List held = AuthenticationUtil.runAsSystem(new RunAsWork>() + { + @Override + public List doWork() + { + return getHeld(hold); + } + }); + List heldNames = new ArrayList(); for (NodeRef nodeRef : held) {