From 092df7dc7e8b2c3d8e365a0820086d384d3af34b Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Wed, 13 May 2020 08:42:39 +0000 Subject: [PATCH] Add status_autoassign to JobOrder entity. Add setting of auto assign status when a JO is requested via API. #406 --- src/Controller/APIController.php | 14 ++++++++------ src/Entity/JobOrder.php | 18 ++++++++++++++++++ src/Ramcar/AutoAssignStatus.php | 16 ++++++++++++++++ 3 files changed, 42 insertions(+), 6 deletions(-) create mode 100644 src/Ramcar/AutoAssignStatus.php diff --git a/src/Controller/APIController.php b/src/Controller/APIController.php index 54e35ff9..01910394 100644 --- a/src/Controller/APIController.php +++ b/src/Controller/APIController.php @@ -24,6 +24,7 @@ use App\Ramcar\TransactionOrigin; use App\Ramcar\TradeInType; use App\Ramcar\JOEventType; use App\Ramcar\AdvanceOrderSlot; +use App\Ramcar\AutoAssignStatus; use App\Service\InvoiceGeneratorInterface; use App\Service\RisingTideGateway; @@ -2360,12 +2361,10 @@ class APIController extends Controller implements LoggedController $schedule_date = $req->request->get('date_schedule'); $slot_id = $req->request->get('slot_id'); $advance_order = $req->request->get('flag_advance_order'); - - // check for 'false' text - if ($advance_order === false || $advance_order === 0 || $advance_order === '0' || $advance_order == 'false') - $flag_advance_order = false; - else + if ($advance_order) $flag_advance_order = true; + else + $flag_advance_order = false; // $flag_advance_order = $advance_order ? true : false; $jo = new JobOrder(); @@ -2379,7 +2378,8 @@ class APIController extends Controller implements LoggedController ->setDeliveryInstructions($instructions) // TODO: error check for valid mode of payment ->setModeOfPayment($req->request->get('mode_of_payment')) - ->setAdvanceOrder($flag_advance_order); + ->setAdvanceOrder($flag_advance_order) + ->setStatusAutoAssign(AutoAssignStatus::NOT_ASSIGNED); // customer $cust = $this->session->getCustomer(); @@ -2538,6 +2538,7 @@ class APIController extends Controller implements LoggedController $jo->setHub($nearest_hub); $jo->setRider($assigned_rider); $jo->setStatus(JOStatus::ASSIGNED); + $jo->setStatusAutoAssign(AutoAssignStatus::HUB_AND_RIDER_ASSIGNED); $assigned_rider->setAvailable(false); } @@ -2559,6 +2560,7 @@ class APIController extends Controller implements LoggedController $jo->setHub($hub); $jo->setStatus(JOStatus::RIDER_ASSIGN); + $jo->setStatusAutoAssign(AutoAssignStatus::HUB_ASSIGNED); if ($date_schedule != null) $jo->setDateSchedule($date_schedule); diff --git a/src/Entity/JobOrder.php b/src/Entity/JobOrder.php index 8f5e78e7..402fa86a 100644 --- a/src/Entity/JobOrder.php +++ b/src/Entity/JobOrder.php @@ -288,6 +288,12 @@ class JobOrder */ protected $priority; + // autoassign status + /** + * @ORM\Column(type="string", length=30, nullable=true) + */ + protected $status_autoassign; + // meta /** * @ORM\Column(type="json") @@ -845,4 +851,16 @@ class JobOrder return $this->meta[$id]; } + + public function setStatusAutoAssign($status_autoassign) + { + $this->status_autoassign = $status_autoassign; + return $this; + } + + public function getStatusAutoAssign() + { + return $this->status_autoassign; + } + } diff --git a/src/Ramcar/AutoAssignStatus.php b/src/Ramcar/AutoAssignStatus.php new file mode 100644 index 00000000..f01c440f --- /dev/null +++ b/src/Ramcar/AutoAssignStatus.php @@ -0,0 +1,16 @@ + 'Not Assigned', + 'hub_assigned' => 'Hub Assigned', + 'hub_and_rider_assgined' => 'Hub and Rider Assigned', + ]; +}