Set date_schedule for HubCriteria when creating a JO from mobile app. #611

This commit is contained in:
Korina Cordero 2021-08-09 08:21:25 +00:00
parent ac7e26498b
commit 0738149a5b

View file

@ -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);