diff --git a/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php b/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php index fc2b1272..72bc1c78 100644 --- a/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php +++ b/src/Service/RiderAPIHandler/CMBRiderAPIHandler.php @@ -251,6 +251,17 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface // make rider unavailable $rider = $this->session->getRider(); + // check if rider has assigned JOs + $assigned_jos = $this->em->getRepository(JobOrder::class)->findBy(['rider' => $rider->getID(), 'status' => JOStatus::ASSIGNED]); + if ($assigned_jos != null) + { + $data = [ + 'title' => 'Failed Logout', + 'error' => 'Rider has assigned job orders.' + ]; + return $data; + } + $rider->setAvailable(false); $rider->setActive(false); @@ -314,6 +325,17 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface // set rider to unavailable to take on JOs $rider = $this->session->getRider(); + // check if rider has assigned JOs + $assigned_jos = $this->em->getRepository(JobOrder::class)->findBy(['rider' => $rider->getID(), 'status' => JOStatus::ASSIGNED]); + if ($assigned_jos != null) + { + $data = [ + 'title' => 'Failed Go Offline', + 'error' => 'Rider has assigned job orders.' + ]; + return $data; + } + $rider->setAvailable(false); $this->em->flush();