Clear rider's active job order when JO is cancelled via rider app and admin panel. #496 #1390
2 changed files with 10 additions and 1 deletions
|
|
@ -1124,6 +1124,11 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
$cancel_reason = $req->request->get('cancel_reason');
|
$cancel_reason = $req->request->get('cancel_reason');
|
||||||
$obj->cancel($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
|
// the event
|
||||||
$event = new JOEvent();
|
$event = new JOEvent();
|
||||||
$event->setDateHappen(new DateTime())
|
$event->setDateHappen(new DateTime())
|
||||||
|
|
|
||||||
|
|
@ -1073,8 +1073,12 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
||||||
|
|
||||||
$jo->cancel($cancel_reason);
|
$jo->cancel($cancel_reason);
|
||||||
|
|
||||||
|
// set rider's active job order to null
|
||||||
// add event log
|
// add event log
|
||||||
$rider = $this->session->getRider();
|
$rider = $this->session->getRider();
|
||||||
|
|
||||||
|
$rider->setActiveJobOrder(null);
|
||||||
|
|
||||||
$event = new JOEvent();
|
$event = new JOEvent();
|
||||||
$event->setDateHappen(new DateTime())
|
$event->setDateHappen(new DateTime())
|
||||||
->setTypeID(CMBJOEventType::REQUEUE)
|
->setTypeID(CMBJOEventType::REQUEUE)
|
||||||
|
|
@ -1156,7 +1160,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
|
||||||
$this->em->persist($event);
|
$this->em->persist($event);
|
||||||
|
|
||||||
// set rider's active JO to null
|
// set rider's active JO to null
|
||||||
$rider->setActiveJobOrder();
|
$rider->setActiveJobOrder(null);
|
||||||
|
|
||||||
$this->em->flush();
|
$this->em->flush();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue