- Renamed 'doclist' dashlet to 'docsummary'

- Added docsummary data webscript to provide recently modified docs
- Updated styles for lists in dashboard.css
- Added 'error' style to base.css (just red text at the moment)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9320 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gavin Cornwell
2008-05-30 09:27:07 +00:00
parent 57610ebb64
commit 77f3837df1
4 changed files with 113 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
<webscript>
<shortname>docsummary</shortname>
<description>Document Summary Component Data Webscript</description>
<url>/slingshot/docsummary?site={site}&amp;filter={filter?}</url>
<format default="json"></format>
<authentication>user</authentication>
<transaction>required</transaction>
</webscript>

View File

@@ -0,0 +1 @@
<#include "docsummary.get.json.ftl">

View File

@@ -0,0 +1,81 @@
/**
* Document Summary Component: docsummary
*
* Inputs:
* mandatory: site = the site to get documents from
* optional: filter = the filter to apply
*
* Outputs:
* docs - object containing list of documents
*/
model.docs = getDocs(args["site"], args["filter"]);
/* Create collection of documents */
function getDocs(siteId, filter)
{
try
{
/* siteId input */
var site = siteService.getSite(siteId);
if (site === null)
{
return jsonError("Site not found: " + siteId);
}
var parentNode = site.getContainer("documentLibrary");
if (parentNode === null)
{
return jsonError("Document Library container not found in: " + siteId + ". (No write permission?)");
}
// build up the query to get documents modified in the last 7 days
var path = parentNode.qnamePath + "//*";
var date = new Date();
var toQuery = date.getFullYear() + "\\-" + (date.getMonth()+1) + "\\-" + date.getDate();
date.setDate(date.getDate() - 7);
var fromQuery = date.getFullYear() + "\\-" + (date.getMonth()+1) + "\\-" + date.getDate();
search.setStoreUrl("workspace://SiteStore");
var docs = search.luceneSearch("+PATH:\"" + path + "\"" +
" +@cm\\:modified:[" + fromQuery + "T00\\:00\\:00 TO " + toQuery + "T23\\:59\\:59]",
"cm:modified", false);
var items = null;
// restrict results to 10 items if necessary
if (docs.length > 10)
{
items = new Array();
for (var x = 0; x < 10; x++)
{
items.push(docs[x]);
}
}
else
{
items = docs;
}
return ({
"items": items
});
}
catch(e)
{
return jsonError(e.toString());
}
}
/* Format and return error object */
function jsonError(errorString)
{
var obj =
{
"error": errorString
};
return obj;
}

View File

@@ -0,0 +1,23 @@
{
<#if docs.error?exists>
"error": "${docs.error}"
<#else>
"items":
[
<#list docs.items as d>
{
"nodeRef": "${d.nodeRef}",
"icon16": "${d.icon16}",
"icon32": "${d.icon32}",
"name": "${d.name}",
"title": "${d.properties.title!""}",
"description": "${d.properties.description!""}",
"createdOn": "${d.properties.created?datetime}",
"createdBy": "${d.properties.creator}",
"modifiedOn": "${d.properties.modified?datetime}",
"modifiedBy": "${d.properties.modifier}"
}<#if d_has_next>,</#if>
</#list>
]
</#if>
}