From 60988583324cecccd52661fa5a5ea587f10591ad Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Wed, 1 Jun 2022 06:04:04 +0000 Subject: [PATCH] Fix issue of rider assignment not working after hub reassignment. #675 --- src/Service/JobOrderHandler/ResqJobOrderHandler.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Service/JobOrderHandler/ResqJobOrderHandler.php b/src/Service/JobOrderHandler/ResqJobOrderHandler.php index 5079f3af..ba71c6f9 100644 --- a/src/Service/JobOrderHandler/ResqJobOrderHandler.php +++ b/src/Service/JobOrderHandler/ResqJobOrderHandler.php @@ -1356,6 +1356,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface // get previously assigned hub, if any $old_hub = $obj->getHub(); + // get previously assigned rider, if any + $old_rider = $obj->getRider(); + if (empty($error_array)) { // rider mqtt event @@ -1367,6 +1370,15 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface ]; $mclient->sendRiderEvent($obj, $rider_payload); + // need to unset first rider's current job order + $old_rider = $obj->getRider(); + if ($old_rider != null) + { + $old_rider->setCurrentJobOrder(); + // set available flag for first rider + $old_rider->setAvailable(true); + } + // coordinates $point = new Point($req->request->get('coord_lng'), $req->request->get('coord_lat'));