Merge branch '675-set-rider-s-current-jo-id-to-null-if-jo-s-hub-is-reassigned-and-jo-has-been-rider-assigned' into 'master'

Resolve "Set rider's current jo id to null if JO's hub is reassigned and JO has been rider assigned"

Closes #675

See merge request jankstudio/resq!789
This commit is contained in:
Kendrick Chan 2022-06-01 08:04:07 +00:00
commit 79f2686404

View file

@ -1380,6 +1380,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// get previously assigned hub, if any // get previously assigned hub, if any
$old_hub = $obj->getHub(); $old_hub = $obj->getHub();
// get previously assigned rider, if any
$old_rider = $obj->getRider();
if (empty($error_array)) if (empty($error_array))
{ {
// rider mqtt event // rider mqtt event
@ -1391,6 +1394,19 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
]; ];
$mclient->sendRiderEvent($obj, $rider_payload); $mclient->sendRiderEvent($obj, $rider_payload);
// need to unset first rider's current job order
$old_rider = $obj->getRider();
if ($old_rider != null)
{
if (($old_rider->getCurrentJobOrder() != null) &&
($old_rider->getCurrentJobOrder()->getID() == $obj->getID()))
{
$old_rider->setCurrentJobOrder();
// set available flag for first rider
$old_rider->setAvailable(true);
}
}
// coordinates // coordinates
$point = new Point($req->request->get('coord_lng'), $req->request->get('coord_lat')); $point = new Point($req->request->get('coord_lng'), $req->request->get('coord_lat'));
@ -1645,9 +1661,13 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$old_rider = $obj->getRider(); $old_rider = $obj->getRider();
if ($old_rider != null) if ($old_rider != null)
{ {
$old_rider->setCurrentJobOrder(); if (($old_rider->getCurrentJobOrder() != null) &&
// set available flag for first rider ($old_rider->getCurrentJobOrder()->getID() == $obj->getID()))
$old_rider->setAvailable(true); {
$old_rider->setCurrentJobOrder();
// set available flag for first rider
$old_rider->setAvailable(true);
}
} }
// coordinates // coordinates