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>
|
<webscript>
|
||||||
<shortname>Save Calendar Event</shortname>
|
<shortname>Save Calendar Event</shortname>
|
||||||
<description>Save Calendar Event</description>
|
<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>
|
<format default="html">extension</format>
|
||||||
<authentication>user</authentication>
|
<authentication>user</authentication>
|
||||||
<transaction>required</transaction>
|
<transaction>required</transaction>
|
||||||
</webscript>
|
</webscript>
|
||||||
|
@@ -1,2 +1,2 @@
|
|||||||
${msg}
|
${result}
|
||||||
Test
|
|
||||||
|
@@ -1,39 +1,49 @@
|
|||||||
logger.log("DEBUG: create event script called");
|
var siteId = args["site"];
|
||||||
logger.log("DEBUG: workspace://SpacesStore/" + args.id);
|
|
||||||
|
|
||||||
var node = search.findNode("workspace://SpacesStore/" + args.id);
|
model.result = createEvent(siteId, args);
|
||||||
logger.log("DEBUG: " + node);
|
|
||||||
if (node !== null)
|
function createEvent(siteId, params)
|
||||||
{
|
{
|
||||||
var eventsFolder = node.childByNamePath("CalEvents");
|
if (siteId === null)
|
||||||
if (eventsFolder === null)
|
{
|
||||||
{
|
return "Site identifier is undefined";
|
||||||
eventsFolder = node.createFolder("CalEvents");
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var timestamp = new Date().getTime();
|
var site = siteService.getSite(siteId);
|
||||||
var event = eventsFolder.createNode(timestamp + ".ics", "ia:calendarEvent");
|
if (site === null)
|
||||||
|
{
|
||||||
|
return "Could not find specified site";
|
||||||
|
}
|
||||||
|
|
||||||
event.properties["ia:whatEvent"] = args.what;
|
var calendar = site.getContainer("calendar");
|
||||||
event.properties["ia:whereEvent"] = args.where;
|
if (calendar === null)
|
||||||
event.properties["ia:descriptionEvent"] = args.desc;
|
{
|
||||||
event.properties["ia:colorEvent"] = args.color;
|
return ""; /* TODO: return something more meaningful */
|
||||||
|
}
|
||||||
|
|
||||||
var fromDate = args.td + " " + args.tt;
|
var timestamp = new Date().getTime();
|
||||||
var from = new Date(fromDate);
|
var event = calendar.createNode(timestamp + ".ics", "ia:calendarEvent");
|
||||||
event.properties["ia:fromDate"] = from;
|
|
||||||
|
|
||||||
var toDate = args.td + " " + args.tt;
|
if (event === null)
|
||||||
var to = new Date(toDate);
|
{
|
||||||
event.properties["ia:toDate"] = to;
|
return "Event creation failed";
|
||||||
event.save();
|
}
|
||||||
|
|
||||||
|
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"];
|
var siteId = args["site"];
|
||||||
|
|
||||||
model.events = getEvents(siteId);
|
model.events = getEvents(siteId);
|
||||||
|
|
||||||
function getEvents(siteId)
|
function getEvents(siteId)
|
||||||
@@ -16,9 +16,15 @@ function getEvents(siteId)
|
|||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
return calendar.children.sort(function(a,b) {
|
var events = calendar.children;
|
||||||
return a.properties["ia:fromDate"] - b.properties["ia:fromDate"];
|
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