From 1bd5c308750e81e601a01effca132a27e795cae0 Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Mon, 28 Jan 2019 03:16:50 +0800 Subject: [PATCH] Fix assign rider so cancelled job orders cannot be assigned #175 --- src/Controller/JobOrderController.php | 5 +++++ src/Entity/JobOrder.php | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index ca3d271a..0e0e6d8e 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -1142,6 +1142,11 @@ class JobOrderController extends BaseController if (empty($obj)) throw $this->createNotFoundException('The item does not exist'); + // check if we can assign + if (!$obj->canAssign()) + throw $this->createNotFoundException('Cannot assign rider to this job order.'); + + // check if lat and lng are provided if (empty($req->request->get('coord_lng')) || empty($req->request->get('coord_lat'))) { $error_array['coordinates'] = 'No map coordinates provided. Please click on a location on the map.'; diff --git a/src/Entity/JobOrder.php b/src/Entity/JobOrder.php index d4a40373..ddc9d299 100644 --- a/src/Entity/JobOrder.php +++ b/src/Entity/JobOrder.php @@ -734,4 +734,12 @@ class JobOrder return false; } + public function canAssign() + { + if ($this->status == JOStatus::ASSIGNED) + return true; + + return false; + } + }