Add checking for assigned rider for JO for getJobOrder. #421

This commit is contained in:
Korina Cordero 2020-06-02 04:27:10 +00:00
parent dbdde5cdde
commit e74d4061ba

View file

@ -571,8 +571,9 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
public function getJobOrder(Request $req) public function getJobOrder(Request $req)
{ {
// get the job order of the rider assigned to this session $required_params = [
$required_params = []; 'jo_id'
];
$data = $this->checkParamsAndKey($req, $required_params); $data = $this->checkParamsAndKey($req, $required_params);
if (isset($data['error'])) if (isset($data['error']))
return $data; return $data;
@ -588,8 +589,10 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
$rider = $this->session->getRider(); $rider = $this->session->getRider();
// do we have a job order? // get jo
$jo = $rider->getActiveJobOrder(); $jo_id = $req->query->get('jo_id');
$jo = $this->em->getRepository(JobOrder::class)->find($jo_id);
if ($jo == null) if ($jo == null)
{ {
$data = [ $data = [
@ -598,6 +601,23 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
} }
else else
{ {
if ($jo->getRider() == null)
{
$data = [
'error' => 'Job order selected has no rider assigned.'
];
return $data;
}
// check if rider is assigned to JO
if ($rider->getID() != $jo->getRider()->getID())
{
$data = [
'error' => 'Job order selected is not assigned to rider'
];
return $data;
}
$coord = $jo->getCoordinates(); $coord = $jo->getCoordinates();
$cust = $jo->getCustomer(); $cust = $jo->getCustomer();
$cv = $jo->getCustomerVehicle(); $cv = $jo->getCustomerVehicle();
@ -615,7 +635,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
else else
$batt_id = $item_batt->getID(); $batt_id = $item_batt->getID();
$inv_items[] = [ $inv_items[] = [
'id' => $item->getID(), 'id' => $item->getID(),
'title' => $item->getTitle(), 'title' => $item->getTitle(),
'qty' => $item->getQuantity(), 'qty' => $item->getQuantity(),