From 0738149a5b9892ead011519e99f362f2821f6baf Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Mon, 9 Aug 2021 08:21:25 +0000 Subject: [PATCH] Set date_schedule for HubCriteria when creating a JO from mobile app. #611 --- src/Controller/APIController.php | 34 +++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/Controller/APIController.php b/src/Controller/APIController.php index c0f23ea8..d0941b3c 100644 --- a/src/Controller/APIController.php +++ b/src/Controller/APIController.php @@ -2653,6 +2653,20 @@ class APIController extends Controller implements LoggedController $schedule_date = $req->request->get('date_schedule'); $slot_id = $req->request->get('slot_id'); + + // process the jo date schedule so we can include it in HubCriteria + $date_schedule = null; + if ((strlen($schedule_date) > 0) && (strlen($slot_id) > 0)) + { + $time_schedule = $this->getTimeFromSlot($slot_id); + if (!empty($time_schedule)) + { + $s_date = $schedule_date . ' ' . $time_schedule; + $date_schedule = DateTime::createFromFormat('Y-m-d H:i', $s_date); + //error_log($date_schedule->format('Y-m-d H:i')); + } + } + $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') @@ -2795,6 +2809,14 @@ class APIController extends Controller implements LoggedController $hub_criteria = new HubCriteria(); $hub_criteria->setPoint($jo->getCoordinates()); + // check if date_schedule is null aka not an advanced order + // no need to set to current date since current date and time is the default + if ($date_schedule != null) + { + // set to date schedule received + $hub_criteria->setDateTime($date_schedule); + } + // get distance limit for mobile from env // get value of hub_filter_enable from env $dotenv = new Dotenv(); @@ -2921,18 +2943,6 @@ class APIController extends Controller implements LoggedController } else { - $date_schedule = null; - if ((strlen($schedule_date) > 0) && (strlen($slot_id) > 0)) - { - $time_schedule = $this->getTimeFromSlot($slot_id); - if (!empty($time_schedule)) - { - $s_date = $schedule_date . ' ' . $time_schedule; - $date_schedule = DateTime::createFromFormat('Y-m-d H:i', $s_date); - //error_log($date_schedule->format('Y-m-d H:i')); - } - } - $jo->setHub($hub); $jo->setStatus(JOStatus::RIDER_ASSIGN); $jo->setStatusAutoAssign(AutoAssignStatus::HUB_ASSIGNED);