From fc33668a4661b80489ebea17635c7904d7903c94 Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Thu, 20 Jul 2023 02:19:13 +0000 Subject: [PATCH] Typecast the invoice fields to float. Fix the namespace for APIResponse for TAPI controllers. #752 --- src/Controller/TAPI/BatteryController.php | 2 +- src/Controller/TAPI/JobOrderController.php | 2 +- src/Controller/TAPI/PromoController.php | 2 +- src/Controller/TAPI/ServiceController.php | 2 +- src/Controller/TAPI/VehicleController.php | 2 +- src/Service/InvoiceManager.php | 14 ++++++++------ 6 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/Controller/TAPI/BatteryController.php b/src/Controller/TAPI/BatteryController.php index a191b625..0705a3ab 100644 --- a/src/Controller/TAPI/BatteryController.php +++ b/src/Controller/TAPI/BatteryController.php @@ -9,7 +9,7 @@ use Doctrine\ORM\Query; use Doctrine\ORM\EntityManagerInterface; use Catalyst\ApiBundle\Controller\ApiController; -use Catalyst\ApiBundle\Response\APIResponse; +use Catalyst\ApiBundle\Component\Response as APIResponse; use App\Ramcar\APIResult; use App\Entity\Vehicle; diff --git a/src/Controller/TAPI/JobOrderController.php b/src/Controller/TAPI/JobOrderController.php index ae777d64..a0a29b6b 100644 --- a/src/Controller/TAPI/JobOrderController.php +++ b/src/Controller/TAPI/JobOrderController.php @@ -12,7 +12,7 @@ use Doctrine\ORM\EntityManagerInterface; use CrEOF\Spatial\PHP\Types\Geometry\Point; use Catalyst\ApiBundle\Controller\ApiController; -use Catalyst\ApiBundle\Response\APIResponse; +use Catalyst\ApiBundle\Component\Response as APIResponse; use App\Ramcar\WarrantyClass; use App\Ramcar\JOStatus; diff --git a/src/Controller/TAPI/PromoController.php b/src/Controller/TAPI/PromoController.php index 322e5f42..65a6606f 100644 --- a/src/Controller/TAPI/PromoController.php +++ b/src/Controller/TAPI/PromoController.php @@ -9,7 +9,7 @@ use Doctrine\ORM\Query; use Doctrine\ORM\EntityManagerInterface; use Catalyst\ApiBundle\Controller\ApiController; -use Catalyst\ApiBundle\Response\APIResponse; +use Catalyst\ApiBundle\Component\Response as APIResponse; use App\Entity\Promo; diff --git a/src/Controller/TAPI/ServiceController.php b/src/Controller/TAPI/ServiceController.php index 16183a0b..bbe7fbba 100644 --- a/src/Controller/TAPI/ServiceController.php +++ b/src/Controller/TAPI/ServiceController.php @@ -9,7 +9,7 @@ use Doctrine\ORM\Query; use Doctrine\ORM\EntityManagerInterface; use Catalyst\ApiBundle\Controller\ApiController; -use Catalyst\ApiBundle\Response\APIResponse; +use Catalyst\ApiBundle\Component\Response as APIResponse; use App\Entity\Service; diff --git a/src/Controller/TAPI/VehicleController.php b/src/Controller/TAPI/VehicleController.php index 36ef3b01..b808a9cd 100644 --- a/src/Controller/TAPI/VehicleController.php +++ b/src/Controller/TAPI/VehicleController.php @@ -9,7 +9,7 @@ use Doctrine\ORM\Query; use Doctrine\ORM\EntityManagerInterface; use Catalyst\ApiBundle\Controller\ApiController; -use Catalyst\ApiBundle\Response\APIResponse; +use Catalyst\ApiBundle\Component\Response as APIResponse; use App\Entity\VehicleManufacturer; use App\Entity\Vehicle; diff --git a/src/Service/InvoiceManager.php b/src/Service/InvoiceManager.php index ac3f7316..06536ba2 100644 --- a/src/Service/InvoiceManager.php +++ b/src/Service/InvoiceManager.php @@ -263,7 +263,7 @@ class InvoiceManager implements InvoiceGeneratorInterface $invoice_item->setInvoice($invoice) ->setTitle($item['title']) ->setQuantity($item['quantity']) - ->setPrice($item['price']); + ->setPrice((float)$item['price']); if ($item['battery'] != null) $invoice_item->setBattery($item['battery']); @@ -271,11 +271,13 @@ class InvoiceManager implements InvoiceGeneratorInterface $invoice->addItem($invoice_item); } - $invoice->setTotalPrice($total['total_price']) - ->setVATExclusivePrice($total['vat_ex_price']) - ->setVAT($total['vat']) - ->setDiscount($total['discount']) - ->setTradeIn($total['ti_rate']) + // RULE: TYPECAST these values since bc operations return a string + // and these fields are going to be placed in a JSON response + $invoice->setTotalPrice((float)$total['total_price']) + ->setVATExclusivePrice((float)$total['vat_ex_price']) + ->setVAT((float)$total['vat']) + ->setDiscount((float)$total['discount']) + ->setTradeIn((float)$total['ti_rate']) ->setStatus(InvoiceStatus::DRAFT); }