Resolve "Set vehicle and customer id in warranty when JO is fulfilled" #1515

Merged
korina.cordero merged 4 commits from 588-set-vehicle-and-customer-id-in-warranty-when-jo-is-fulfilled into master-fix 2021-06-18 08:30:25 +00:00
Showing only changes of commit 4a0adef749 - Show all commits

View file

@ -3191,8 +3191,8 @@ class APIController extends Controller implements LoggedController
{
$warr->setCustomer($customer);
// get customer vehicles
$vehicle = $this->findCustomerVehicle($customer, $req->request->get('plate_number'));
$vehicle = $this->findCustomerVehicle($em, $customer, $req->request->get('plate_number'));
if ($vehicle != null)
$warr->setVehicle($vehicle);
}
@ -3270,20 +3270,23 @@ class APIController extends Controller implements LoggedController
return $cust;
}
protected function findCustomerVehicle($customer, $plate_number)
protected function findCustomerVehicle($em, $customer, $plate_number)
{
$clean_plate = Warranty::cleanPlateNumber($plate_number);
if ($clean_plate)
{
// find the customer vehicle and get the vehicle
$cust_vehicles = $customer->getVehicles();
foreach ($cust_vehicles as $cv)
$cv = $em->getRepository(CustomerVehicle::class)->findOneBy(['plate_number' => $clean_plate]);
if ($cv != null)
{
if ($cv->getPlateNumber() == $clean_plate)
// confirm that customer vehicle found does belong to customer
if ($cv->getCustomer() == $customer)
{
$vehicle = $cv->getVehicle();
return $vehicle;
}
else
return null;
}
}