From dbb05b16d90f8769fee750b28c677c691c6390b3 Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Wed, 16 Sep 2020 07:50:45 +0000 Subject: [PATCH 1/2] Clear rider's active job order when JO is cancelled via rider app and admin panel. #496 --- src/Service/JobOrderHandler/CMBJobOrderHandler.php | 5 +++++ src/Service/RiderAPIHandler/CMBRiderAPIHandler.php | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/src/Service/JobOrderHandler/CMBJobOrderHandler.php b/src/Service/JobOrderHandler/CMBJobOrderHandler.php index 7712f426..64cfb3fb 100644 --- a/src/Service/JobOrderHandler/CMBJobOrderHandler.php +++ b/src/Service/JobOrderHandler/CMBJobOrderHandler.php @@ -1124,6 +1124,11 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface $cancel_reason = $req->request->get('cancel_reason'); $obj->cancel($cancel_reason); + // get assigned rider. If not null, clear rider's active JO + $rider = $obj->getRider(); + if ($rider != null) + $rider->setActiveJobOrder(); + // the event $event = new JOEvent(); $event->setDateHappen(new DateTime()) diff --git a/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php b/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php index 9a7c0b28..464b41aa 100644 --- a/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php +++ b/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php @@ -1073,8 +1073,12 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface $jo->cancel($cancel_reason); + // set rider's active job order to null // add event log $rider = $this->session->getRider(); + + $rider->setActiveJobOrder(); + $event = new JOEvent(); $event->setDateHappen(new DateTime()) ->setTypeID(CMBJOEventType::REQUEUE) From 2b07a89544f1ab01541f8e4060a4d43e85f4e047 Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Wed, 16 Sep 2020 08:07:10 +0000 Subject: [PATCH 2/2] Make explicit setting of active JO to null. #496 --- src/Service/RiderAPIHandler/CMBRiderAPIHandler.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php b/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php index 464b41aa..b39c5493 100644 --- a/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php +++ b/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php @@ -1077,7 +1077,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface // add event log $rider = $this->session->getRider(); - $rider->setActiveJobOrder(); + $rider->setActiveJobOrder(null); $event = new JOEvent(); $event->setDateHappen(new DateTime()) @@ -1160,7 +1160,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface $this->em->persist($event); // set rider's active JO to null - $rider->setActiveJobOrder(); + $rider->setActiveJobOrder(null); $this->em->flush();