diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/event.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/event.post.desc.xml index 3d54aa4d55..8d1acccc6c 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/event.post.desc.xml +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/event.post.desc.xml @@ -1,8 +1,8 @@ Save Calendar Event Save Calendar Event - /calendar/create?what={whatEvent}&where={whereEvent}&desc={descriptionEvent}&color={colorEvent}&fd={fromDate}&ft={fromTime}&td={toDate}&tt={toTime}&id={nodeId} + /calendar/create?what={whatEvent}&where={whereEvent}&desc={descriptionEvent}&from={fromDate}&start={startTime}&to={toDate}&end={endTime}&site={siteId} extension - user - required + user + required diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/event.post.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/event.post.html.ftl index 2abc926f5e..c15f780513 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/event.post.html.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/event.post.html.ftl @@ -1,2 +1,2 @@ -${msg} -Test +${result} + diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/event.post.js b/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/event.post.js index 9b46fe1b09..c8d05dff59 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/event.post.js +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/event.post.js @@ -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; diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/eventList.get.js b/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/eventList.get.js index 93f9fed357..20b742c2bb 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/eventList.get.js +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/eventList.get.js @@ -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; };