diff --git a/config/alfresco/templates/webscripts/org/alfresco/collaboration/blogSpace.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/collaboration/blogSpace.get.desc.xml new file mode 100644 index 0000000000..622d5666ea --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/collaboration/blogSpace.get.desc.xml @@ -0,0 +1,8 @@ + + Blog Custom View + Collaboration Blog Space view + /collaboration/blogSpace?nodeRef={noderef} + + user + required + diff --git a/config/alfresco/templates/webscripts/org/alfresco/collaboration/blogSpace.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/collaboration/blogSpace.get.html.ftl new file mode 100644 index 0000000000..7c15f6cada --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/collaboration/blogSpace.get.html.ftl @@ -0,0 +1,74 @@ +
Blog Status
+ +
+
Pending Articles
+
+<#list blogSpace.pending as p> +
+
+ ${p.name}, ${p.properties["cm:title"]} +
+
+ +
+
+ +
+ +
Published Articles
+
+<#list blogSpace.published as p> + + +
+
+ + diff --git a/config/alfresco/templates/webscripts/org/alfresco/collaboration/blogSpace.get.js b/config/alfresco/templates/webscripts/org/alfresco/collaboration/blogSpace.get.js new file mode 100644 index 0000000000..2ab4b5e76f --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/collaboration/blogSpace.get.js @@ -0,0 +1,83 @@ +/* + * blogSpace + * + * Inputs: + * mandatory: nodeRef = parent space nodeRef + * optional: n = nodeId for document to action against + * a = action + * "p" = publish + * "u" = update + * "r" = remove + * + * Outputs: blogSpace - object containing published and pending node arrays + */ +parseArgs(args["n"], args["a"]); +model.blogSpace = main(args["nodeRef"]); + +function parseArgs(nodeId, action) +{ + if ((nodeId != null) && (action != null)) + { + var blog = actions.create("blog-post"); + + var node = search.findNode(nodeId); + if (node != null) + { + var blogAction = ""; + var isPublished = false; + if ((node.hasAspect("blg:blogPost")) && (node.properties["blg:published"] == true)) + { + isPublished = true; + } + + switch (action) + { + case "p": + blogAction = (isPublished ? "" : "post"); + break; + case "u": + blogAction = (isPublished ? "update" : ""); + break; + case "r": + blogAction = (isPublished ? "remove" : ""); + break; + } + + if (blogAction != "") + { + blog.parameters.action = blogAction; + blog.execute(node); + } + } + } +} + +function main(nodeRef) +{ + var published = new Array(), + pending = new Array(); + + var space = search.findNode(nodeRef); + + if (space != null) + { + for each(node in space.children) + { + if ((node.hasAspect("blg:blogPost")) && (node.properties["blg:published"] == true)) + { + published.push(node); + } + else + { + pending.push(node); + } + } + } + + var blogSpace = + { + "published": published, + "pending": pending + }; + return blogSpace; +}