From 215fbfbd7268a5ed1513960428324f828c8cb532 Mon Sep 17 00:00:00 2001 From: Erik Winlof Date: Wed, 3 Sep 2014 13:00:09 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 78865: Revert commit 76521 merged from V4.2-BUG-FIX: it was later reverted there, and is causing 2 failures in BlogServiceTest 78779: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0) - mergeinfo had been lost and these 2 were never merged 76521: Merged DEV to V4.2-BUG-FIX 76328 : MNT-11854 : Consumer allowed to create Discussion, Wiki, Blog and Link if she/he creates the first item Add the changes - for discussion, blog and link containers we will get site permission. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@82644 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../scripts/blogs/AbstractBlogWebScript.java | 4 ++-- .../AbstractDiscussionWebScript.java | 4 ++-- .../repo/web/scripts/links/LinksListGet.java | 21 +++++++++++++++++-- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/source/java/org/alfresco/repo/web/scripts/blogs/AbstractBlogWebScript.java b/source/java/org/alfresco/repo/web/scripts/blogs/AbstractBlogWebScript.java index 9f864f1b1c..6bdb4e2e6c 100644 --- a/source/java/org/alfresco/repo/web/scripts/blogs/AbstractBlogWebScript.java +++ b/source/java/org/alfresco/repo/web/scripts/blogs/AbstractBlogWebScript.java @@ -243,10 +243,10 @@ public abstract class AbstractBlogWebScript extends DeclarativeWebScript } else { - // MNT-11854 Consumer allowed to create Discussion, Wiki, Blog and Link if she/he creates the first item + // The NodeRef is the container (if it exists) if (siteService.hasContainer(siteName, BlogServiceImpl.BLOG_COMPONENT)) { - nodeRef = site.getNodeRef(); + nodeRef = siteService.getContainer(siteName, BlogServiceImpl.BLOG_COMPONENT); } } } diff --git a/source/java/org/alfresco/repo/web/scripts/discussion/AbstractDiscussionWebScript.java b/source/java/org/alfresco/repo/web/scripts/discussion/AbstractDiscussionWebScript.java index 73bcdf28a8..99f181d0cd 100644 --- a/source/java/org/alfresco/repo/web/scripts/discussion/AbstractDiscussionWebScript.java +++ b/source/java/org/alfresco/repo/web/scripts/discussion/AbstractDiscussionWebScript.java @@ -533,10 +533,10 @@ public abstract class AbstractDiscussionWebScript extends DeclarativeWebScript } else { - // MNT-11854 Consumer allowed to create Discussion, Wiki, Blog and Link if she/he creates the first item + // The NodeRef is the container (if it exists) if (siteService.hasContainer(siteName, DiscussionServiceImpl.DISCUSSION_COMPONENT)) { - nodeRef = site.getNodeRef(); + nodeRef = siteService.getContainer(siteName, DiscussionServiceImpl.DISCUSSION_COMPONENT); } } } diff --git a/source/java/org/alfresco/repo/web/scripts/links/LinksListGet.java b/source/java/org/alfresco/repo/web/scripts/links/LinksListGet.java index ffa283f754..5f67eb806d 100644 --- a/source/java/org/alfresco/repo/web/scripts/links/LinksListGet.java +++ b/source/java/org/alfresco/repo/web/scripts/links/LinksListGet.java @@ -140,8 +140,25 @@ public class LinksListGet extends AbstractLinksWebScript } // We need the container node for permissions checking - // MNT-11854 Consumer allowed to create Discussion, Wiki, Blog and Link if she/he creates the first item - NodeRef container = site.getNodeRef(); + NodeRef container; + if (links.getPage().size() > 0) + { + container = links.getPage().get(0).getContainerNodeRef(); + } + else + { + // Find the container (if it's been created yet) + container = siteService.getContainer( + site.getShortName(), LinksServiceImpl.LINKS_COMPONENT); + + if (container == null) + { + // Brand new site, no write operations on links have happened + // Fudge it for now with the site itself, the first write call + // will have the container created + container = site.getNodeRef(); + } + } // All done Map model = new HashMap();