From f8d413d5a007c5d13c42ae48d897dd621f318c1e Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Fri, 2 Sep 2011 14:08:44 +0000 Subject: [PATCH] When working on discussions objects by noderef rather than name, check to see if it is part of a site so that activity entries can be generated properly if it is git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30192 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../AbstractDiscussionWebScript.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) 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 b0b1a238ca..c9b5fe88db 100644 --- a/source/java/org/alfresco/repo/web/scripts/discussion/AbstractDiscussionWebScript.java +++ b/source/java/org/alfresco/repo/web/scripts/discussion/AbstractDiscussionWebScript.java @@ -209,6 +209,13 @@ public abstract class AbstractDiscussionWebScript extends DeclarativeWebScript protected void addActivityEntry(String thing, String event, TopicInfo topic, PostInfo post, SiteInfo site, WebScriptRequest req, JSONObject json) { + // We can only add activities against a site + if(site == null) + { + logger.info("Unable to add activity entry for " + thing + " " + event + " as no site given"); + return; + } + // What page is this for? String page = req.getParameter("page"); if(page == null && json != null) @@ -556,6 +563,21 @@ public abstract class AbstractDiscussionWebScript extends DeclarativeWebScript topic = objects.getFirst(); post = objects.getSecond(); } + + // See if it's actually attached to a site + if(topic != null) + { + NodeRef container = topic.getContainerNodeRef(); + if(container != null) + { + NodeRef maybeSite = nodeService.getPrimaryParent(container).getParentRef(); + if(maybeSite != null) + { + // Try to make it a site, will return Null if it isn't one + site = siteService.getSite(maybeSite); + } + } + } } else {