diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index c51a34c9..5c955f2b 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -16,7 +16,6 @@ use App\Entity\VehicleManufacturer; use App\Entity\Vehicle; use App\Entity\Hub; -use App\Service\InvoiceGeneratorInterface; use App\Service\JobOrderHandlerInterface; use App\Service\GISManagerInterface; use App\Service\MapTools; @@ -24,6 +23,7 @@ use App\Service\MQTTClient; use App\Service\APNSClient; use App\Service\InventoryManager; use App\Service\HubSelector; +use App\Service\InvoiceManager; use App\Service\RiderTracker; use App\Service\MotivConnector; @@ -713,7 +713,7 @@ class JobOrderController extends Controller } - public function generateInvoice(Request $req, InvoiceGeneratorInterface $ic) + public function generateInvoice(Request $req, InvoiceManager $ic) { // error_log('generating invoice...'); $error = false; @@ -724,8 +724,6 @@ class JobOrderController extends Controller $cvid = $req->request->get('cvid'); $service_charges = $req->request->get('service_charges', []); - // TODO: set if taxable here - $em = $this->getDoctrine()->getManager(); // get customer vehicle @@ -739,7 +737,8 @@ class JobOrderController extends Controller // instantiate invoice criteria $criteria = new InvoiceCriteria(); $criteria->setServiceType($stype) - ->setCustomerVehicle($cv); + ->setCustomerVehicle($cv) + ->setIsTaxable(); /* diff --git a/src/Service/JobOrderHandler/ResqJobOrderHandler.php b/src/Service/JobOrderHandler/ResqJobOrderHandler.php index 4c5040dc..de3a63f5 100644 --- a/src/Service/JobOrderHandler/ResqJobOrderHandler.php +++ b/src/Service/JobOrderHandler/ResqJobOrderHandler.php @@ -29,6 +29,7 @@ use App\Entity\CustomerTag; use App\Entity\EmergencyType; use App\Entity\OwnershipType; use App\Entity\CustomerLocation; +use App\Entity\Battery; use App\Ramcar\ServiceType; use App\Ramcar\TradeInType; @@ -3442,8 +3443,19 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface // db loaded $params['bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll(); + $params['trade_in_bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll(); $params['promos'] = $em->getRepository(Promo::class)->findAll(); + // list of batteries for trade-in + $ti_batteries = $em->getRepository(Battery::class)->findAll(); + $trade_in_batteries = []; + foreach ($ti_batteries as $ti_battery) + { + $battery_name = $ti_battery->getModel()->getName() . ' ' . $ti_battery->getSize()->getName(); + $trade_in_batteries[$ti_battery->getID()] = $battery_name; + } + $params['trade_in_batteries'] = $trade_in_batteries; + // list of emergency types $e_types = $em->getRepository(EmergencyType::class)->findBy([], ['name' => 'ASC']); $emergency_types = []; diff --git a/templates/invoice/trade_in.html.twig b/templates/invoice/trade_in.html.twig new file mode 100644 index 00000000..e033143d --- /dev/null +++ b/templates/invoice/trade_in.html.twig @@ -0,0 +1,46 @@ +