Added activity feed templates for event edit. Fixed date display problem. All edited details are now updated.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9512 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Simon Buckle
2008-06-19 10:04:05 +00:00
parent af0f04335d
commit 39630505e4
3 changed files with 77 additions and 39 deletions

View File

@@ -0,0 +1,12 @@
<entry xmlns='http://www.w3.org/2005/Atom'>
<title>Event deleted: ${eventName!""}</title>
<icon></icon>
<id>${id}</id>
<updated>${xmldate(date)}</updated>
<summary>
${firstName!"anon"} ${lastName!""} just updated the event ${eventName}.</summary>
<author>
<name>${userId!""}</name>
</author>
</entry>

View File

@@ -0,0 +1,7 @@
<item>
<title>Event deleted: ${eventName!""}</title>
<link></link>
<guid>${id}</guid>
<description>${firstName!"anon"} ${lastName!""} just updated the event ${eventName}.</description>
</item>

View File

@@ -27,30 +27,30 @@ function getTemplateParams()
function main()
{
var params = getTemplateParams();
if (params === null)
{
return status.STATUS_BAD_REQUEST;
}
var params = getTemplateParams();
if (params === null)
{
return status.STATUS_BAD_REQUEST;
}
// Get the site
var site = siteService.getSite(params.siteid);
if (site === null)
{
return status.STATUS_NOT_FOUND;
}
// Get the site
var site = siteService.getSite(params.siteid);
if (site === null)
{
return status.STATUS_NOT_FOUND;
}
var eventsFolder = site.getContainer("calendar");
if (eventsFolder === null)
{
return status.STATUS_NOT_FOUND;
}
var eventsFolder = site.getContainer("calendar");
if (eventsFolder === null)
{
return status.STATUS_NOT_FOUND;
}
var event = eventsFolder.childByNamePath(params.eventname);
if (event === null)
{
return status.STATUS_NOT_FOUND;
}
var event = eventsFolder.childByNamePath(params.eventname);
if (event === null)
{
return status.STATUS_NOT_FOUND;
}
var props = [
"what",
@@ -58,32 +58,51 @@ function main()
"where"
];
var propsmap = {
"what" : "ia:whatEvent",
"desc" : "ia:descriptionEvent",
"where" : "ia:whereEvent"
};
var propsmap = {
"what" : "ia:whatEvent",
"desc" : "ia:descriptionEvent",
"where" : "ia:whereEvent"
};
for (var i=0; i < props.length; i++)
{
var prop = props[i];
try
{
for (var i=0; i < props.length; i++)
{
var prop = props[i];
try
{
var value = json.get(prop);
// TODO: deal with formatting date strings correctly
if (value)
{
event.properties[ propsmap[prop] ] = value;
}
}
catch(e)
{
}
catch(e)
{
// Couldn't find the property in the JSON data
}
}
}
}
try
{
// Handle date formatting as a separate case
var from = new Date(json.get("from") + " " + json.get("start"));
event.properties["ia:fromDate"] = from;
var to = new Date(json.get("to") + " " + json.get("end"));
event.properties["ia:toDate"] = to;
var eventName = json.get("what");
activities.postActivity("org.alfresco.calendar.event-updated", params.siteid, "calendar", '{ "eventName" : ' + eventName + ' }');
}
catch(e)
{
if (logger.isLoggingEnabled())
{
logger.log(e);
}
}
event.save();
return status.STATUS_NO_CONTENT;
event.save();
return status.STATUS_NO_CONTENT;
}
var response = main();