From 98984ede80479168a457a028e42ba1c4ba2e5e1d Mon Sep 17 00:00:00 2001 From: Mike Koch Date: Tue, 26 Jan 2016 10:54:15 -0500 Subject: [PATCH] Utilize drag-and-drop of events --- internal-api/dao/calendar_dao.php | 5 ---- js/calendar/mods-for-hesk-calendar.js | 40 +++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/internal-api/dao/calendar_dao.php b/internal-api/dao/calendar_dao.php index 809030dc..9acb5ee8 100644 --- a/internal-api/dao/calendar_dao.php +++ b/internal-api/dao/calendar_dao.php @@ -24,11 +24,6 @@ function get_events($start, $end, $hesk_settings) { return $events; } -/** - * @param $event. All times must be in milliseconds since epoch time. - * @param $hesk_settings - * @return int the event id - */ function create_event($event, $hesk_settings) { $event['start'] = date('Y-m-d H:i:s', strtotime($event['start'])); diff --git a/js/calendar/mods-for-hesk-calendar.js b/js/calendar/mods-for-hesk-calendar.js index d3570d5c..064360b3 100644 --- a/js/calendar/mods-for-hesk-calendar.js +++ b/js/calendar/mods-for-hesk-calendar.js @@ -31,6 +31,46 @@ $(document).ready(function() { }, eventClick: function(event) { displayEditModal(event); + }, + eventDrop: function(event, delta, revertFunc) { + var start = event.start.format('YYYY-MM-DD'); + if (event.end === null) { + event.end = event.start.clone(); + } + var end = event.end.format('YYYY-MM-DD'); + if (!event.allDay) { + start += ' ' + event.start.format('HH:mm:ss'); + end += ' ' + event.end.format('HH:mm:ss'); + } + var createTicketDate = event.createTicketDate; + if (createTicketDate != null) { + createTicketDate = createTicketDate.format('YYYY-MM-DD'); + } + var data = { + id: event.id, + title: event.title, + location: event.location, + startTime: start, + endTime: end, + allDay: event.allDay, + comments: event.comments, + createTicketDate: createTicketDate, + assignTo: event.assignTo, + action: 'update' + }; + console.log(data); + $.ajax({ + method: 'POST', + url: getHelpdeskUrl() + '/internal-api/admin/calendar', + data: data, + success: function() { + $.jGrowl('Event successfully updated', { theme: 'alert-success', closeTemplate: '' }); + }, + error: function(data) { + console.error(data); + revertFunc(); + } + }); } });