From 4cd75acb46613a58e6ca8096aade13b1de0ea55e Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Fri, 31 Jul 2020 01:42:50 +0000 Subject: [PATCH] Add updating of landmark, willing to wait, and reason when updating JO form. #453 --- .../JobOrderHandler/ResqJobOrderHandler.php | 75 +++++++++++++++++-- 1 file changed, 70 insertions(+), 5 deletions(-) diff --git a/src/Service/JobOrderHandler/ResqJobOrderHandler.php b/src/Service/JobOrderHandler/ResqJobOrderHandler.php index 28fa2c0f..9c8fbd1e 100644 --- a/src/Service/JobOrderHandler/ResqJobOrderHandler.php +++ b/src/Service/JobOrderHandler/ResqJobOrderHandler.php @@ -619,6 +619,16 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $fac_by = null; } + // check if landmark is set + if (empty($req->request->get('landmark'))) + $error_array['landmark'] = 'Landmark is required.'; + + // check if customer is not willing to wait + $will_wait = $req->request->get('flag_will_wait'); + $reason = $req->request->get('no_wait_reason'); + if ((!($will_wait)) && (empty($reason))) + $error_array['no_wait_reason'] = 'Reason is needed.'; + if (empty($error_array)) { // coordinates @@ -638,7 +648,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface ->setDeliveryAddress($req->request->get('delivery_address')) ->setFacilitatedType($fac_type) ->setFacilitatedBy($fac_by) - ->setHub($hub); + ->setHub($hub) + ->setLandmark($req->request->get('landmark')) + ->setWillingToWait($req->request->get('flag_will_wait', false)) + ->setReasonsNotWait($req->request->get('no_wait_reason')); // validate $errors = $this->validator->validate($obj); @@ -712,6 +725,16 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface } } + // check if landmark is set + if (empty($req->request->get('landmark'))) + $error_array['landmark'] = 'Landmark is required.'; + + // check if customer is not willing to wait + $will_wait = $req->request->get('flag_will_wait'); + $reason = $req->request->get('no_wait_reason'); + if ((!($will_wait)) && (empty($reason))) + $error_array['no_wait_reason'] = 'Reason is needed.'; + // get current user $user = $this->security->getUser(); @@ -732,7 +755,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface ->setTier2Notes($req->request->get('tier2_notes')) ->setDeliveryAddress($req->request->get('delivery_address')) ->setDateAssign(new DateTime()) - ->setRider($rider); + ->setRider($rider) + ->setLandmark($req->request->get('landmark')) + ->setWillingToWait($req->request->get('flag_will_wait', false)) + ->setReasonsNotWait($req->request->get('no_wait_reason')); if ($user != null) { @@ -795,6 +821,16 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $error_array['coordinates'] = 'No map coordinates provided. Please click on a location on the map.'; } + // check if landmark is set + if (empty($req->request->get('landmark'))) + $error_array['landmark'] = 'Landmark is required.'; + + // check if customer is not willing to wait + $will_wait = $req->request->get('flag_will_wait'); + $reason = $req->request->get('no_wait_reason'); + if ((!($will_wait)) && (empty($reason))) + $error_array['no_wait_reason'] = 'Reason is needed.'; + if (empty($error_array)) { // coordinates $point = new Point($req->request->get('coord_lng'), $req->request->get('coord_lat')); @@ -809,7 +845,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface ->setDeliveryInstructions($req->request->get('delivery_instructions')) ->setTier1Notes($req->request->get('tier1_notes')) ->setTier2Notes($req->request->get('tier2_notes')) - ->setDeliveryAddress($req->request->get('delivery_address')); + ->setDeliveryAddress($req->request->get('delivery_address')) + ->setLandmark($req->request->get('landmark')) + ->setWillingToWait($req->request->get('flag_will_wait', false)) + ->setReasonsNotWait($req->request->get('no_wait_reason')); // validate $errors = $this->validator->validate($obj); @@ -979,6 +1018,16 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface } } + // check if landmark is set + if (empty($req->request->get('landmark'))) + $error_array['landmark'] = 'Landmark is required.'; + + // check if customer is not willing to wait + $will_wait = $req->request->get('flag_will_wait'); + $reason = $req->request->get('no_wait_reason'); + if ((!($will_wait)) && (empty($reason))) + $error_array['no_wait_reason'] = 'Reason is needed.'; + if (empty($error_array)) { // rider mqtt event @@ -1006,7 +1055,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface ->setTier2Notes($req->request->get('tier2_notes')) ->setDeliveryAddress($req->request->get('delivery_address')) ->setHub($hub) - ->clearRider(); + ->clearRider() + ->setLandmark($req->request->get('landmark')) + ->setWillingToWait($req->request->get('flag_will_wait', false)) + ->setReasonsNotWait($req->request->get('no_wait_reason')); if ($user != null) { @@ -1180,6 +1232,16 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface } } + // check if landmark is set + if (empty($req->request->get('landmark'))) + $error_array['landmark'] = 'Landmark is required.'; + + // check if customer is not willing to wait + $will_wait = $req->request->get('flag_will_wait'); + $reason = $req->request->get('no_wait_reason'); + if ((!($will_wait)) && (empty($reason))) + $error_array['no_wait_reason'] = 'Reason is needed.'; + if (empty($error_array)) { // rider mqtt event // NOTE: need to send this before saving because rider will be cleared @@ -1206,7 +1268,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface ->setTier2Notes($req->request->get('tier2_notes')) ->setDeliveryAddress($req->request->get('delivery_address')) ->setDateAssign(new DateTime()) - ->setRider($rider); + ->setRider($rider) + ->setLandmark($req->request->get('landmark')) + ->setWillingToWait($req->request->get('flag_will_wait', false)) + ->setReasonsNotWait($req->request->get('no_wait_reason')); if ($user != null) {