From dbb05b16d90f8769fee750b28c677c691c6390b3 Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Wed, 16 Sep 2020 07:50:45 +0000 Subject: [PATCH] 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)