mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Modified calendar REST API:
- Improved error handling in both event create and event list - Modified event create descriptor file to reflect new parameters passed in git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9318 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
<webscript>
|
||||
<shortname>Save Calendar Event</shortname>
|
||||
<description>Save Calendar Event</description>
|
||||
<url>/calendar/create?what={whatEvent}&where={whereEvent}&desc={descriptionEvent}&color={colorEvent}&fd={fromDate}&ft={fromTime}&td={toDate}&tt={toTime}&id={nodeId}</url>
|
||||
<url>/calendar/create?what={whatEvent}&where={whereEvent}&desc={descriptionEvent}&from={fromDate}&start={startTime}&to={toDate}&end={endTime}&site={siteId}</url>
|
||||
<format default="html">extension</format>
|
||||
<authentication>user</authentication>
|
||||
<transaction>required</transaction>
|
||||
<authentication>user</authentication>
|
||||
<transaction>required</transaction>
|
||||
</webscript>
|
||||
|
@@ -1,2 +1,2 @@
|
||||
${msg}
|
||||
Test
|
||||
${result}
|
||||
|
||||
|
@@ -1,39 +1,49 @@
|
||||
logger.log("DEBUG: create event script called");
|
||||
logger.log("DEBUG: workspace://SpacesStore/" + args.id);
|
||||
var siteId = args["site"];
|
||||
|
||||
var node = search.findNode("workspace://SpacesStore/" + args.id);
|
||||
logger.log("DEBUG: " + node);
|
||||
if (node !== null)
|
||||
model.result = createEvent(siteId, args);
|
||||
|
||||
function createEvent(siteId, params)
|
||||
{
|
||||
var eventsFolder = node.childByNamePath("CalEvents");
|
||||
if (eventsFolder === null)
|
||||
{
|
||||
eventsFolder = node.createFolder("CalEvents");
|
||||
}
|
||||
if (siteId === null)
|
||||
{
|
||||
return "Site identifier is undefined";
|
||||
}
|
||||
|
||||
var timestamp = new Date().getTime();
|
||||
var event = eventsFolder.createNode(timestamp + ".ics", "ia:calendarEvent");
|
||||
var site = siteService.getSite(siteId);
|
||||
if (site === null)
|
||||
{
|
||||
return "Could not find specified site";
|
||||
}
|
||||
|
||||
event.properties["ia:whatEvent"] = args.what;
|
||||
event.properties["ia:whereEvent"] = args.where;
|
||||
event.properties["ia:descriptionEvent"] = args.desc;
|
||||
event.properties["ia:colorEvent"] = args.color;
|
||||
var calendar = site.getContainer("calendar");
|
||||
if (calendar === null)
|
||||
{
|
||||
return ""; /* TODO: return something more meaningful */
|
||||
}
|
||||
|
||||
var fromDate = args.td + " " + args.tt;
|
||||
var from = new Date(fromDate);
|
||||
event.properties["ia:fromDate"] = from;
|
||||
var timestamp = new Date().getTime();
|
||||
var event = calendar.createNode(timestamp + ".ics", "ia:calendarEvent");
|
||||
|
||||
var toDate = args.td + " " + args.tt;
|
||||
var to = new Date(toDate);
|
||||
event.properties["ia:toDate"] = to;
|
||||
event.save();
|
||||
if (event === null)
|
||||
{
|
||||
return "Event creation failed";
|
||||
}
|
||||
|
||||
event.properties["ia:whatEvent"] = params["what"];
|
||||
event.properties["ia:whereEvent"] = params["where"];
|
||||
event.properties["ia:descriptionEvent"] = params["desc"];
|
||||
|
||||
var fromDate = params["from"] + " " + params["start"];
|
||||
var from = new Date(fromDate);
|
||||
event.properties["ia:fromDate"] = from;
|
||||
|
||||
var toDate = params["to"] + " " + params["end"];
|
||||
var to = new Date(toDate);
|
||||
event.properties["ia:toDate"] = to;
|
||||
event.save();
|
||||
|
||||
return "Event saved";
|
||||
};
|
||||
|
||||
var msg = "Event saved";
|
||||
}
|
||||
else
|
||||
{
|
||||
var msg = "SPACE not found with Ref " + args.id;
|
||||
}
|
||||
|
||||
model.msg = msg;
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
|
||||
var siteId = args["site"];
|
||||
|
||||
model.events = getEvents(siteId);
|
||||
|
||||
function getEvents(siteId)
|
||||
@@ -16,9 +16,15 @@ function getEvents(siteId)
|
||||
return [];
|
||||
}
|
||||
|
||||
return calendar.children.sort(function(a,b) {
|
||||
return a.properties["ia:fromDate"] - b.properties["ia:fromDate"];
|
||||
});
|
||||
var events = calendar.children;
|
||||
if (events.length > 0)
|
||||
{
|
||||
events = events.sort(function(a,b) {
|
||||
return a.properties["ia:fromDate"] - b.properties["ia:fromDate"];
|
||||
});
|
||||
}
|
||||
|
||||
return events;
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user