From 72a3ae93d480c8a5ffd6548c2367bbb0420a0345 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 12 Feb 2014 15:12:00 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud) 61354: Merged V4.2-BUG-FIX (4.2.2) to HEAD-BUG-FIX (Cloud/4.3) 61287: Merged DEV to V4.2-BUG-FIX (4.2.2) 59996: MNT-10366: Share link does not work for consumer/contributor - Run as system user the addition of "shared" aspect to a node. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@62412 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/quickshare/QuickShareServiceImpl.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/source/java/org/alfresco/repo/quickshare/QuickShareServiceImpl.java b/source/java/org/alfresco/repo/quickshare/QuickShareServiceImpl.java index 0f63f63d61..dfb38c438f 100644 --- a/source/java/org/alfresco/repo/quickshare/QuickShareServiceImpl.java +++ b/source/java/org/alfresco/repo/quickshare/QuickShareServiceImpl.java @@ -183,7 +183,7 @@ public class QuickShareServiceImpl implements QuickShareService, NodeServicePoli @Override - public QuickShareDTO shareContent(NodeRef nodeRef) + public QuickShareDTO shareContent(final NodeRef nodeRef) { checkEnabled(); @@ -203,11 +203,19 @@ public class QuickShareServiceImpl implements QuickShareService, NodeServicePoli UUID uuid = UUIDGenerator.getInstance().generateRandomBasedUUID(); sharedId = Base64.encodeBase64URLSafeString(uuid.toByteArray()); // => 22 chars (eg. q3bEKPeDQvmJYgt4hJxOjw) - Map props = new HashMap(2); + final Map props = new HashMap(2); props.put(QuickShareModel.PROP_QSHARE_SHAREDID, sharedId); props.put(QuickShareModel.PROP_QSHARE_SHAREDBY, AuthenticationUtil.getRunAsUser()); - nodeService.addAspect(nodeRef, QuickShareModel.ASPECT_QSHARE, props); + // consumer/contributor should be able to add "shared" aspect (MNT-10366) + AuthenticationUtil.runAsSystem(new RunAsWork() + { + public Void doWork() + { + nodeService.addAspect(nodeRef, QuickShareModel.ASPECT_QSHARE, props); + return null; + } + }); final NodeRef tenantNodeRef = tenantService.getName(nodeRef);