Initial version of scripts for updating and deleting an event.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9438 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Simon Buckle
2008-06-10 13:17:49 +00:00
parent 3febbb8396
commit c9c8e7d148
6 changed files with 164 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
<webscript>
<shortname>deleteevent</shortname>
<description>Event Action - Delete event</description>
<url>/calendar/delete/{siteid}/{eventname}</url>
<format default="json">argument</format>
<authentication>user</authentication>
<transaction>required</transaction>
</webscript>

View File

@@ -0,0 +1,64 @@
/**
* Delete event action
* @method DELETE
* @param uri {string} /{siteid}/{eventname}
*/
var result = deleteEvent();
status.code = result;
function deleteEvent()
{
var params = getTemplateParams();
if (params === null)
{
return status.STATUS_BAD_REQUEST;
}
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 event = eventsFolder.childByNamePath(params.eventname);
if (event === null)
{
return status.STATUS_NOT_FOUND;
}
if (!event.remove())
{
return status.STATUS_INTERNAL_SERVER_ERROR;
}
// Success
return status.STATUS_NO_CONTENT;
}
function getTemplateParams()
{
// Grab the URI parameters
var siteid = "" + url.templateArgs.siteid;
var eventname = "" + url.templateArgs.eventname;
if (siteid === null || siteid.length === 0)
{
return null;
}
if (eventname === null || eventname.length === 0)
{
return null;
}
return {
"siteid": siteid,
"eventname": eventname
};
}

View File

@@ -0,0 +1,8 @@
<webscript>
<shortname>updateevent</shortname>
<description>Event Action - Update event</description>
<url>/calendar/event/{siteid}/{eventname}</url>
<format default="json">argument</format>
<authentication>user</authentication>
<transaction>required</transaction>
</webscript>

View File

@@ -0,0 +1,84 @@
/**
* Update event properties
* @method PUT
* @param uri {string} /calendar/event/{siteid}/{eventname}
*/
function getTemplateParams()
{
// Grab the URI parameters
var siteid = "" + url.templateArgs.siteid;
var eventname = "" + url.templateArgs.eventname;
if (siteid === null || siteid.length === 0)
{
return null;
}
if (eventname === null || eventname.length === 0)
{
return null;
}
return {
"siteid": siteid,
"eventname": eventname
};
}
function main()
{
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;
}
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 props = [
"ia:whatEvent",
"ia:descriptionEvent",
"ia:whereEvent"
];
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[prop] = value;
}
}
catch(e)
{
// Couldn't find the property in the JSON data
}
}
event.save();
return status.STATUS_NO_CONTENT;
}
var response = main();
status.code = response;