From 5ed3a2e4470a6c010f1b87631742f8cbd8dc7f3f Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Thu, 26 Jul 2018 02:58:19 +0800 Subject: [PATCH] Refactor fulfill jo to belong in entity #159 --- src/Controller/JobOrderController.php | 8 +++++--- src/Controller/RAPIController.php | 3 +++ src/Entity/JobOrder.php | 20 ++++++++++++++++---- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index 8787432e..f599368c 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -1326,12 +1326,12 @@ class JobOrderController extends BaseController ->setServiceType($req->request->get('service_type')) ->setWarrantyClass($req->request->get('warranty_class')) ->setSource($req->request->get('source')) - ->setStatus(JOStatus::FULFILLED) + // ->setStatus(JOStatus::FULFILLED) ->setDeliveryInstructions($req->request->get('delivery_instructions')) ->setTier1Notes($req->request->get('tier1_notes')) ->setTier2Notes($req->request->get('tier2_notes')) - ->setDeliveryAddress($req->request->get('delivery_address')) - ->setDateFulfill(new DateTime()); + ->setDeliveryAddress($req->request->get('delivery_address')); + // ->setDateFulfill(new DateTime()); // validate $errors = $validator->validate($obj); @@ -1342,6 +1342,8 @@ class JobOrderController extends BaseController } } + $obj->fulfill(); + // check if any errors were found if (!empty($error_array)) { // return validation failure response diff --git a/src/Controller/RAPIController.php b/src/Controller/RAPIController.php index 229d5895..0fa9f31d 100644 --- a/src/Controller/RAPIController.php +++ b/src/Controller/RAPIController.php @@ -554,8 +554,11 @@ class RAPIController extends Controller // set invoice to paid $jo->getInvoice()->setStatus(InvoiceStatus::PAID); + /* // set jo status to fulfilled $jo->setStatus(JOStatus::FULFILLED); + */ + $jo->fulfill(); $em->flush(); diff --git a/src/Entity/JobOrder.php b/src/Entity/JobOrder.php index 02d8bdf6..122df4df 100644 --- a/src/Entity/JobOrder.php +++ b/src/Entity/JobOrder.php @@ -654,6 +654,13 @@ class JobOrder return $this->trade_in_type; } + protected function makeRiderAvailable() + { + $rider = $this->getRider(); + if ($rider != null) + $rider->setAvailable(); + } + public function cancel($reason) { // set status to cancelled @@ -661,9 +668,14 @@ class JobOrder ->setDateCancel(new DateTime()) ->setCancelReason($reason); - // set rider available - $rider = $obj->getRider(); - if ($rider != null) - $rider->setAvailable(); + $this->makeRiderAvailable(); + } + + public function fulfill() + { + $this->setStatus(JOStatus::FULFILLED) + ->setDateFulfill(new DateTime()); + + $this->makeRiderAvailable(); } }