Merge branch '424-cmb-release' of gitlab.com:jankstudio/resq into 438-cmb-rider-icon-should-be-green-when-rider-rejects-jo

This commit is contained in:
Korina Cordero 2020-07-21 07:17:56 +00:00
commit 127b4a6f7b

View file

@ -466,6 +466,29 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
if (empty($trade_in_type))
$trade_in_type = 'none';
// get time when JO was accepted by rider
$accept_event_type = CMBJOEventType::RIDER_ACCEPT;
$rider_id = $this->session->getRider()->getID();
$jo_id = $jo->getID();
$date_accept = '';
$accept_results = $this->em->getRepository(JOEvent::class)->findby(['type_id' => $accept_event_type, 'rider' => $rider_id, 'job_order' => $jo_id], ['date_happen' => 'DESC']);
if ($accept_results != null)
{
$jo_event = current($accept_results);
$date_accept = $jo_event->getDateHappen()->format('Ymd H:i:s');
}
// get time when JO was started by rider
$start_event_type = CMBJOEventType::RIDER_START;
$date_start = '';
$start_results = $this->em->getRepository(JOEvent::class)->findby(['type_id' => $start_event_type, 'rider' => $rider_id, 'job_order' => $jo_id], ['date_happen' => 'DESC']);
if ($start_results != null)
{
$jo_event = current($start_results);
$date_start = $jo_event->getDateHappen()->format('Ymd H:i:s');
}
$jo_data[] = [
'job_order' => [
'id' => $jo->getID(),
@ -508,6 +531,9 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
'has_warranty_doc' => false,
'flag_coolant' => $jo->hasCoolant(),
'has_motolite' => $cv->hasMotoliteBattery(),
// date and time accepted and started
'date_accept' => $date_accept,
'date_start' => $date_start,
]
];
}
@ -758,6 +784,29 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
else
$cust_email = $jo->getMeta('customer_email');
// get time when JO was accepted by rider
$accept_event_type = CMBJOEventType::RIDER_ACCEPT;
$rider_id = $this->session->getRider()->getID();
$jo_id = $jo->getID();
$date_accept = '';
$accept_results = $this->em->getRepository(JOEvent::class)->findby(['type_id' => $accept_event_type, 'rider' => $rider_id, 'job_order' => $jo_id], ['date_happen' => 'DESC']);
if ($accept_results != null)
{
$jo_event = current($accept_results);
$date_accept = $jo_event->getDateHappen()->format('Ymd H:i:s');
}
// get time when JO was started by rider
$start_event_type = CMBJOEventType::RIDER_START;
$date_start = '';
$start_results = $this->em->getRepository(JOEvent::class)->findby(['type_id' => $start_event_type, 'rider' => $rider_id, 'job_order' => $jo_id], ['date_happen' => 'DESC']);
if ($start_results != null)
{
$jo_event = current($start_results);
$date_start = $jo_event->getDateHappen()->format('Ymd H:i:s');
}
$data = [
'id' => $jo->getID(),
'service_type' => $jo->getServiceType(),
@ -812,7 +861,11 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
// customer email
'customer_email' => $cust_email,
// END: cmb speicifc details
// date and time accepted and started
'date_accept' => $date_accept,
'date_start' => $date_start,
// END: cmb specific details
];
return $data;
@ -988,6 +1041,9 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
->setRider($rider);
$this->em->persist($event);
// set rider's active JO to null
$rider->setActiveJobOrder();
$this->em->flush();
// send mqtt event