From ed04663d08e32e2b6cf3d52b17f31655088f9635 Mon Sep 17 00:00:00 2001 From: Mike Koch Date: Thu, 22 Mar 2018 22:09:17 -0400 Subject: [PATCH] Fix changing ticket due date --- api/Controllers/Tickets/StaffTicketController.php | 10 +++++++++- internal-api/js/admin-ticket.js | 13 ++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/api/Controllers/Tickets/StaffTicketController.php b/api/Controllers/Tickets/StaffTicketController.php index e049bca5..7cefe216 100644 --- a/api/Controllers/Tickets/StaffTicketController.php +++ b/api/Controllers/Tickets/StaffTicketController.php @@ -10,6 +10,7 @@ use BusinessLogic\Tickets\TicketDeleter; use BusinessLogic\Tickets\TicketEditor; use BusinessLogic\Tickets\TicketRetriever; use Controllers\JsonRetriever; +use Symfony\Component\Console\Helper\Helper; class StaffTicketController extends \BaseClass { function get($id) { @@ -55,7 +56,14 @@ class StaffTicketController extends \BaseClass { $json = JsonRetriever::getJsonData(); - $dueDate = date('Y-m-d H:i:s', strtotime(Helpers::safeArrayGet($json, 'dueDate'))); + $newDueDate = Helpers::safeArrayGet($json, 'dueDate'); + + if ($newDueDate !== null) { + $dueDate = date('Y-m-d H:i:s', strtotime(Helpers::safeArrayGet($json, 'dueDate'))); + } else { + $dueDate = null; + } + $ticketEditor->updateDueDate($id, $dueDate, $userContext, $hesk_settings); } diff --git a/internal-api/js/admin-ticket.js b/internal-api/js/admin-ticket.js index 1364337c..81ae9c8a 100644 --- a/internal-api/js/admin-ticket.js +++ b/internal-api/js/admin-ticket.js @@ -20,14 +20,17 @@ $(document).ready(function() { $editableDueDateContainer.find('#submit').click(function() { var newDueDate = $editableDueDateContainer.find('input[type="text"][name="due-date"]').val(); + var ticketId = $('input[type="hidden"][name="orig_id"]').val(); $.ajax({ method: 'POST', - url: heskPath + 'internal-api/admin/calendar/', - data: { - trackingId: $('input[type="hidden"][name="track"]').val(), - action: 'update-ticket', - dueDate: newDueDate + url: heskPath + 'api/v1/staff/tickets/' + ticketId + '/due-date', + headers: { + 'X-Internal-Call': true, + 'X-HTTP-Method-Override': 'PATCH' }, + data: JSON.stringify({ + dueDate: newDueDate === '' ? null : newDueDate + }), success: function() { mfhAlert.success(mfhLang.text('ticket_due_date_updated')); $readonlyDueDateContainer.find('span#due-date').text(newDueDate == '' ? $('#lang_none').text() : newDueDate);