Ticket due dates can be updated via the calendar

merge-requests/1/head
Mike Koch 8 years ago
parent 03c47c1ab7
commit d4840a297a

@ -59,6 +59,13 @@ if ($request_method === 'GET') {
$id = hesk_POST('id'); $id = hesk_POST('id');
delete_event($id, $hesk_settings); delete_event($id, $hesk_settings);
return http_response_code(200);
} elseif ($action === 'update-ticket') {
$ticket['due_date'] = hesk_POST('dueDate');
$ticket['trackid'] = hesk_POST('trackingId');
update_ticket_due_date($ticket, $hesk_settings);
return http_response_code(200); return http_response_code(200);
} }
} }

@ -83,3 +83,11 @@ function delete_event($id, $hesk_settings) {
hesk_dbQuery($sql); hesk_dbQuery($sql);
} }
function update_ticket_due_date($ticket, $hesk_settings) {
$due_date = date('Y-m-d H:i:s', strtotime($ticket['due_date']));
$sql = "UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` SET `due_date` = '" . $due_date . "'
WHERE `trackid` = '" . hesk_dbEscape($ticket['trackid']) . "'";
hesk_dbQuery($sql);
}

@ -40,44 +40,62 @@ $(document).ready(function() {
} }
}, },
eventDrop: function(event, delta, revertFunc) { eventDrop: function(event, delta, revertFunc) {
var start = event.start.format('YYYY-MM-DD'); if (event.type === 'TICKET') {
if (event.end === null) { $.ajax({
event.end = event.start.clone(); method: 'POST',
} url: getHelpdeskUrl() + '/internal-api/admin/calendar',
var end = event.end.format('YYYY-MM-DD'); data: {
if (!event.allDay) { trackingId: event.trackingId,
start += ' ' + event.start.format('HH:mm:ss'); action: 'update-ticket',
end += ' ' + event.end.format('HH:mm:ss'); dueDate: event.start.format('YYYY-MM-DD')
} },
var createTicketDate = event.createTicketDate; success: function() {
if (createTicketDate != null) { $.jGrowl('Ticket due date successfully updated', { theme: 'alert-success', closeTemplate: '' });
createTicketDate = createTicketDate.format('YYYY-MM-DD'); },
} error: function() {
var data = { $.jGrowl('An error occurred when trying to update the ticket due date', { theme: 'alert-danger', closeTemplate: '' });
id: event.id, revertFunc();
title: event.title, }
location: event.location, });
startTime: start, } else {
endTime: end, var start = event.start.format('YYYY-MM-DD');
allDay: event.allDay, if (event.end === null) {
comments: event.comments, event.end = event.start.clone();
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() {
$.jGrowl('An error occurred when trying to update the event', { theme: 'alert-danger', closeTemplate: '' });
revertFunc();
} }
}); 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'
};
$.ajax({
method: 'POST',
url: getHelpdeskUrl() + '/internal-api/admin/calendar',
data: data,
success: function() {
$.jGrowl('Event successfully updated', { theme: 'alert-success', closeTemplate: '' });
},
error: function() {
$.jGrowl('An error occurred when trying to update the event', { theme: 'alert-danger', closeTemplate: '' });
revertFunc();
}
});
}
} }
}); });

Loading…
Cancel
Save