From d534ce3241ab440d30646068e8da81cd8d798bd4 Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Tue, 25 Feb 2020 03:37:58 +0000 Subject: [PATCH 1/3] Add getEditRoute for resq. #357 --- src/Controller/JobOrderController.php | 4 +-- .../JobOrderHandler/ResqJobOrderHandler.php | 27 ++++++++++++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index dad6a8d4..da68cf5a 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -277,13 +277,13 @@ class JobOrderController extends Controller $rows[$key]['meta']['reassign_hub_url'] = $this->generateUrl('jo_open_hub_form', ['id' => $jo_id]); $rows[$key]['meta']['reassign_rider_url'] = $this->generateUrl('jo_open_rider_form', ['id' => $jo_id]); // $rows[$key]['meta']['edit_url'] = $this->generateUrl('jo_open_edit_form', ['id' => $jo_id]); - $rows[$key]['meta']['edit_url'] = $this->generateUrl($jo_handler->getEditRoute($jo_id), ['id' => $jo_id]); + $rows[$key]['meta']['edit_url'] = $this->generateUrl($jo_handler->getEditRoute($jo_id, $tier_params), ['id' => $jo_id]); $rows[$key]['meta']['onestep_edit_url'] = $this->generateUrl('jo_onestep_edit_form', ['id' => $jo_id]); } else { // $rows[$key]['meta']['update_url'] = $this->generateUrl($tier_params['edit_route'], ['id' => $jo_id]); - $rows[$key]['meta']['update_url'] = $this->generateUrl($jo_handler->getEditRoute($jo_id), ['id' => $jo_id]); + $rows[$key]['meta']['update_url'] = $this->generateUrl($jo_handler->getEditRoute($jo_id, $tier_params), ['id' => $jo_id]); $rows[$key]['meta']['onestep_edit_url'] = $this->generateUrl('jo_onestep_edit_form', ['id' => $jo_id]); $rows[$key]['meta']['pdf_url'] = $this->generateUrl('jo_pdf_form', ['id' => $jo_id]); } diff --git a/src/Service/JobOrderHandler/ResqJobOrderHandler.php b/src/Service/JobOrderHandler/ResqJobOrderHandler.php index 12995e56..9372b8a5 100644 --- a/src/Service/JobOrderHandler/ResqJobOrderHandler.php +++ b/src/Service/JobOrderHandler/ResqJobOrderHandler.php @@ -2588,7 +2588,32 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface } } - public function getEditRoute() + public function getEditRoute($jo_id, $tier) { + $edit_route = ''; + + if (empty($tier)) + return $edit_route; + + switch ($tier) + { + case 'proc': + $edit_route = 'jo_proc_form'; + break; + case 'assign': + $edit_route = 'jo_assign_form'; + break; + case 'fulfill': + $edit_route = 'jo_fulfill_form'; + break; + case 'all': + $edit_route = 'jo_all_form'; + break; + default: + // do nothing + // for 'open', edit route is blank + } + + return $edit_route; } } From 3d40bc62383f28982363681f0213bc9299d47ee2 Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Tue, 25 Feb 2020 07:18:55 +0000 Subject: [PATCH 2/3] Remove links to onestep edit from templates for resq. Fix for getEditRoute issues found during testing. #357 --- src/Controller/JobOrderController.php | 4 +-- .../JobOrderHandler/ResqJobOrderHandler.php | 25 ++----------------- .../job-order/list.fulfillment.html.twig | 2 +- templates/job-order/list.open.html.twig | 3 --- 4 files changed, 5 insertions(+), 29 deletions(-) diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index 9388de32..1d1d84c1 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -277,13 +277,13 @@ class JobOrderController extends Controller $rows[$key]['meta']['reassign_hub_url'] = $this->generateUrl('jo_open_hub_form', ['id' => $jo_id]); $rows[$key]['meta']['reassign_rider_url'] = $this->generateUrl('jo_open_rider_form', ['id' => $jo_id]); // $rows[$key]['meta']['edit_url'] = $this->generateUrl('jo_open_edit_form', ['id' => $jo_id]); - $rows[$key]['meta']['edit_url'] = $this->generateUrl($jo_handler->getEditRoute($jo_id, $tier_params), ['id' => $jo_id]); + $rows[$key]['meta']['edit_url'] = $this->generateUrl($jo_handler->getEditRoute($jo_id, $tier_params['edit_route']), ['id' => $jo_id]); $rows[$key]['meta']['onestep_edit_url'] = $this->generateUrl('jo_onestep_edit_form', ['id' => $jo_id]); } else { // $rows[$key]['meta']['update_url'] = $this->generateUrl($tier_params['edit_route'], ['id' => $jo_id]); - $rows[$key]['meta']['update_url'] = $this->generateUrl($jo_handler->getEditRoute($jo_id, $tier_params), ['id' => $jo_id]); + $rows[$key]['meta']['update_url'] = $this->generateUrl($jo_handler->getEditRoute($jo_id, $tier_params['edit_route']), ['id' => $jo_id]); $rows[$key]['meta']['onestep_edit_url'] = $this->generateUrl('jo_onestep_edit_form', ['id' => $jo_id]); $rows[$key]['meta']['pdf_url'] = $this->generateUrl('jo_pdf_form', ['id' => $jo_id]); } diff --git a/src/Service/JobOrderHandler/ResqJobOrderHandler.php b/src/Service/JobOrderHandler/ResqJobOrderHandler.php index 9372b8a5..e98eaa45 100644 --- a/src/Service/JobOrderHandler/ResqJobOrderHandler.php +++ b/src/Service/JobOrderHandler/ResqJobOrderHandler.php @@ -2590,30 +2590,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface public function getEditRoute($jo_id, $tier) { - $edit_route = ''; - if (empty($tier)) - return $edit_route; + return 'jo_open_edit_form'; - switch ($tier) - { - case 'proc': - $edit_route = 'jo_proc_form'; - break; - case 'assign': - $edit_route = 'jo_assign_form'; - break; - case 'fulfill': - $edit_route = 'jo_fulfill_form'; - break; - case 'all': - $edit_route = 'jo_all_form'; - break; - default: - // do nothing - // for 'open', edit route is blank - } - - return $edit_route; + return $tier; } } diff --git a/templates/job-order/list.fulfillment.html.twig b/templates/job-order/list.fulfillment.html.twig index 8115866d..66d3c837 100644 --- a/templates/job-order/list.fulfillment.html.twig +++ b/templates/job-order/list.fulfillment.html.twig @@ -135,7 +135,7 @@ sortable: false, overflow: 'visible', template: function (row, index, datatable) { - var actions = '' + ''; + var actions = ''; return actions; }, diff --git a/templates/job-order/list.open.html.twig b/templates/job-order/list.open.html.twig index 451d8492..3a407009 100644 --- a/templates/job-order/list.open.html.twig +++ b/templates/job-order/list.open.html.twig @@ -148,9 +148,6 @@ {% if is_granted('jo_open.edit') %} actions += ''; {% endif %} - {% if is_granted('jo_onestep.edit') %} - actions += ''; - {% endif %} return actions; }, From a0f7ca6abed210df3a6009c0119cf1f73ff0668c Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Thu, 27 Feb 2020 02:07:30 +0000 Subject: [PATCH 3/3] Fix editRoute parameters for CMB. #357 --- src/Service/JobOrderHandler/CMBJobOrderHandler.php | 2 +- src/Service/JobOrderHandler/ResqJobOrderHandler.php | 3 +++ src/Service/JobOrderHandlerInterface.php | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Service/JobOrderHandler/CMBJobOrderHandler.php b/src/Service/JobOrderHandler/CMBJobOrderHandler.php index 2e16f2e9..422f5fb7 100644 --- a/src/Service/JobOrderHandler/CMBJobOrderHandler.php +++ b/src/Service/JobOrderHandler/CMBJobOrderHandler.php @@ -2997,7 +2997,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface } } - public function getEditRoute($jo_id) + public function getEditRoute($jo_id, $tier = null) { $jo = $this->em->getRepository(JobOrder::class)->find($jo_id); if (empty($jo)) diff --git a/src/Service/JobOrderHandler/ResqJobOrderHandler.php b/src/Service/JobOrderHandler/ResqJobOrderHandler.php index e98eaa45..a12e09d5 100644 --- a/src/Service/JobOrderHandler/ResqJobOrderHandler.php +++ b/src/Service/JobOrderHandler/ResqJobOrderHandler.php @@ -314,6 +314,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface } } + // TODO: check status before saving since JO might already + // have a status that needs to be retained + if (empty($error_array)) { // get current user $user = $this->security->getUser(); diff --git a/src/Service/JobOrderHandlerInterface.php b/src/Service/JobOrderHandlerInterface.php index 5593d10c..590a0926 100644 --- a/src/Service/JobOrderHandlerInterface.php +++ b/src/Service/JobOrderHandlerInterface.php @@ -98,4 +98,7 @@ interface JobOrderHandlerInterface // check if service type is new battery public function checkIfNewBattery(JobOrder $jo); + + // return the edit route, based on tier and form + public function getEditRoute(int $jo_id, $tier); }