diff --git a/src/Controller/APIController.php b/src/Controller/APIController.php index 9b9e457d..3cef355e 100644 --- a/src/Controller/APIController.php +++ b/src/Controller/APIController.php @@ -1842,6 +1842,19 @@ class APIController extends Controller implements LoggedController $jo->cancel($cancel_reason); + $jo->setDeliveryStatus(DeliveryStatus::CANCELLED); + + // check if jo has a rider assigned + $rider = $jo->getRider(); + if ($rider != null) + { + // need to reset rider's current job order + // TODO: do we now mark rider as available? + // still waiting for feedback on what happens to the timestamp cycle if JO is cancelled + // while rider is working on the jo + $rider->setCurrentJobOrder(); + } + // add event log $event = new JOEvent(); $event->setDateHappen(new DateTime()) diff --git a/src/Service/JobOrderHandler/ResqJobOrderHandler.php b/src/Service/JobOrderHandler/ResqJobOrderHandler.php index 8475484f..9b6c24e9 100644 --- a/src/Service/JobOrderHandler/ResqJobOrderHandler.php +++ b/src/Service/JobOrderHandler/ResqJobOrderHandler.php @@ -1156,6 +1156,17 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $obj->cancel($cancel_reason); + // check if jo has a rider assigned + $rider = $obj->getRider(); + if ($rider != null) + { + // need to reset rider's current job order + // TODO: do we now mark rider as available? + // still waiting for feedback on what happens to the timestamp cycle if JO is cancelled + // while rider is working on the jo + $rider->setCurrentJobOrder(); + } + // the event $event = new JOEvent(); $event->setDateHappen(new DateTime())