Add route for getJobOrderInfo. Modify the responses for getJobOrderInfo. #686

This commit is contained in:
Korina Cordero 2022-06-21 09:10:23 +00:00
parent 4e613e3c01
commit 144afae551
2 changed files with 33 additions and 29 deletions

View file

@ -21,6 +21,11 @@ tapi_jo_cancel:
controller: App\Controller\TAPI\JobOrderController:cancelJobOrder controller: App\Controller\TAPI\JobOrderController:cancelJobOrder
methods: [POST] methods: [POST]
tapi_jo_info:
path: /tapi/job_order/{id}/info
controller: App\Controller\TAPI\JobOrderController::getJobOrderInfo
methods: [GET]
# vehicle manufacturer and vehicle # vehicle manufacturer and vehicle
tapi_vehicle_mfg_list: tapi_vehicle_mfg_list:
path: /tapi/vehicle/mfgs path: /tapi/vehicle/mfgs

View file

@ -53,6 +53,7 @@ use App\Entity\Hub;
use App\Entity\Invoice; use App\Entity\Invoice;
use App\Entity\Vehicle; use App\Entity\Vehicle;
use App\Entity\VehicleManufacturer; use App\Entity\VehicleManufacturer;
use App\Entity\Warranty;
use DateTime; use DateTime;
use DateInterval; use DateInterval;
@ -575,47 +576,29 @@ class JobOrderController extends APIController
{ {
$this->denyAccessUnlessGranted('tapi_jo.get.info', null, 'No access.'); $this->denyAccessUnlessGranted('tapi_jo.get.info', null, 'No access.');
// check required parameters and api key // check required parameters
$res = $this->checkParamsAndKey($req, $em, []); $required_params = [];
if ($res->isError()) $msg = $this->checkRequiredParameters($req, $required_params);
return $res->getReturnResponse(); if ($msg)
return new APIResponse(false, $msg);
// get customer
// TODO: modify to get customer
$cust = $this->session->getCustomer();
if ($cust == null)
{
$res->setError(true)
->setErrorMessage('No customer information found');
return $res->getReturnResponse();
}
// get job order data // get job order data
$jo = $em->getRepository(JobOrder::class)->find($id); $jo = $em->getRepository(JobOrder::class)->find($id);
if ($jo == null) if ($jo == null)
{ {
$res->setError(true) $message = 'No job order information found';
->setErrorMessage('No job order information found'); return new APIResponse(false, $message);
return $res->getReturnResponse();
}
// check if job order belongs to customer / user
if ($cust->getID() != $jo->getCustomer()->getID())
{
$res->setError(true)
->setErrorMessage('No job order information found');
return $res->getReturnResponse();
} }
// put into job order data array // put into job order data array
$jo_data = $this->generateJobOrderData($req, $jo, $rt); $jo_data = $this->generateJobOrderData($req, $jo, $rt, $em);
$data = [ $data = [
'job_order' => $jo_data 'job_order' => $jo_data
]; ];
$res->setData($data);
return $res->getReturnResponse(); $message = 'Job order information found.';
return new APIResponse(true, $message, $data);
} }
public function getJOHistory(Request $req, EntityManagerInterface $em) public function getJOHistory(Request $req, EntityManagerInterface $em)
@ -930,7 +913,7 @@ class JobOrderController extends APIController
return $res->getReturnResponse(); return $res->getReturnResponse();
} }
protected function generateJobOrderData($req, $jo, $rt) protected function generateJobOrderData($req, $jo, $rt, $em)
{ {
$status = $jo->getStatus(); $status = $jo->getStatus();
@ -1864,6 +1847,22 @@ class JobOrderController extends APIController
return $dummy_cv; return $dummy_cv;
} }
protected function generateAPIRiderStatus($status)
{
switch ($status)
{
case JOStatus::PENDING:
return APIRiderStatus::OUTLET_ASSIGN;
case JOStatus::RIDER_ASSIGN:
return APIRiderStatus::RIDER_ASSIGN;
case JOStatus::ASSIGNED:
case JOStatus::IN_TRANSIT:
case JOStatus::IN_PROGRESS:
return APIRiderStatus::RIDER_PICK_UP;
}
return 'unknown';
}
protected function cleanPhoneNumber($mobile) protected function cleanPhoneNumber($mobile)
{ {
// remove any non digit character from string // remove any non digit character from string