Add call to remove a vehicle from customer's list of vehicles. #632
This commit is contained in:
parent
ca3fbc21c8
commit
48aaeddadd
2 changed files with 50 additions and 10 deletions
|
|
@ -209,5 +209,5 @@ api_locations:
|
||||||
api_cust_vehicle_remove:
|
api_cust_vehicle_remove:
|
||||||
path: /api/vehicles/{id}/remove
|
path: /api/vehicles/{id}/remove
|
||||||
controller: App\Controller\APIController::removeVehicle
|
controller: App\Controller\APIController::removeVehicle
|
||||||
methods: [DELETE]
|
methods: [POST]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -742,7 +742,9 @@ class APIController extends Controller implements LoggedController
|
||||||
|
|
||||||
// vehicles
|
// vehicles
|
||||||
$cv_list = [];
|
$cv_list = [];
|
||||||
$cvs = $cust->getVehicles();
|
// $cvs = $cust->getVehicles();
|
||||||
|
// only get the customer's vehicles whose flag_active is true
|
||||||
|
$cvs = $em->getRepository(CustomerVehicle::class)->findBy(['flag_active' => true, 'customer' => $cust]);
|
||||||
foreach ($cvs as $cv)
|
foreach ($cvs as $cv)
|
||||||
{
|
{
|
||||||
$battery_id = null;
|
$battery_id = null;
|
||||||
|
|
@ -3538,10 +3540,9 @@ class APIController extends Controller implements LoggedController
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAllOngoingJobOrders(Request $req, RiderTracker $rt)
|
public function getAllOngoingJobOrders(EntityManagerInterface $em, Request $req, RiderTracker $rt)
|
||||||
{
|
{
|
||||||
$required_params = [];
|
$required_params = [];
|
||||||
$em = $this->getDoctrine()->getManager();
|
|
||||||
$res = $this->checkParamsAndKey($req, $em, $required_params);
|
$res = $this->checkParamsAndKey($req, $em, $required_params);
|
||||||
if ($res->isError())
|
if ($res->isError())
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
|
|
@ -3573,10 +3574,9 @@ class APIController extends Controller implements LoggedController
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getOngoingJobOrderCount(Request $req)
|
public function getOngoingJobOrderCount(EntityManagerInterface $em, Request $req)
|
||||||
{
|
{
|
||||||
$required_params = [];
|
$required_params = [];
|
||||||
$em = $this->getDoctrine()->getManager();
|
|
||||||
$res = $this->checkParamsAndKey($req, $em, $required_params);
|
$res = $this->checkParamsAndKey($req, $em, $required_params);
|
||||||
if ($res->isError())
|
if ($res->isError())
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
|
|
@ -3601,7 +3601,7 @@ class APIController extends Controller implements LoggedController
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addLocation(Request $req)
|
public function addLocation(EntityManagerInterface $em, Request $req)
|
||||||
{
|
{
|
||||||
$required_params = [
|
$required_params = [
|
||||||
'name',
|
'name',
|
||||||
|
|
@ -3609,7 +3609,6 @@ class APIController extends Controller implements LoggedController
|
||||||
'longitude',
|
'longitude',
|
||||||
'latitude',
|
'latitude',
|
||||||
];
|
];
|
||||||
$em = $this->getDoctrine()->getManager();
|
|
||||||
$res = $this->checkParamsAndKey($req, $em, $required_params);
|
$res = $this->checkParamsAndKey($req, $em, $required_params);
|
||||||
if ($res->isError())
|
if ($res->isError())
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
|
|
@ -3658,10 +3657,9 @@ class APIController extends Controller implements LoggedController
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getLocations(Request $req)
|
public function getLocations(EntityManagerInterface $em, Request $req)
|
||||||
{
|
{
|
||||||
$required_params = [];
|
$required_params = [];
|
||||||
$em = $this->getDoctrine()->getManager();
|
|
||||||
$res = $this->checkParamsAndKey($req, $em, $required_params);
|
$res = $this->checkParamsAndKey($req, $em, $required_params);
|
||||||
if ($res->isError())
|
if ($res->isError())
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
|
|
@ -3692,6 +3690,48 @@ class APIController extends Controller implements LoggedController
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function removeVehicle($id, EntityManagerInterface $em, Request $req)
|
||||||
|
{
|
||||||
|
$required_params = [];
|
||||||
|
$res = $this->checkParamsAndKey($req, $em, $required_params);
|
||||||
|
if ($res->isError())
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
|
||||||
|
// get customer
|
||||||
|
$cust = $this->session->getCustomer();
|
||||||
|
if ($cust == null)
|
||||||
|
{
|
||||||
|
$res->setError(true)
|
||||||
|
->setErrorMessage('No customer information found');
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
// find customer vehicle
|
||||||
|
$cv = $em->getRepository(CustomerVehicle::class)->find($id);
|
||||||
|
if ($cv == null)
|
||||||
|
{
|
||||||
|
$res->setError(true)
|
||||||
|
->setErrorMessage('Invalid customer vehicle id');
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
// confirm that customer vehicle belongs to customer
|
||||||
|
if ($cv->getCustomer()->getID() != $cust->getID())
|
||||||
|
{
|
||||||
|
$res->setError(true)
|
||||||
|
->setErrorMessage('Vehicle does not belong to customer');
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
// we cannot remove a vehicle from customer if customer vehicle has already has JOs for it.
|
||||||
|
// instead we set the customer vehicle's flag_active to false
|
||||||
|
$cv->setActive(false);
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
// response
|
||||||
|
return $res->getReturnResponse();
|
||||||
|
}
|
||||||
|
|
||||||
protected function updateWarranty($res, $em, $rt, $trans, $req, $serial, $inv_filename = null, $wcard_filename = null,
|
protected function updateWarranty($res, $em, $rt, $trans, $req, $serial, $inv_filename = null, $wcard_filename = null,
|
||||||
$logger, $log_data, $user_id, $action, $source)
|
$logger, $log_data, $user_id, $action, $source)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue