diff --git a/src/Controller/CustomerController.php b/src/Controller/CustomerController.php index a56f12fb..a993b2bb 100644 --- a/src/Controller/CustomerController.php +++ b/src/Controller/CustomerController.php @@ -101,7 +101,6 @@ class CustomerController extends BaseController ->getQuery() ->getResult(); - $classifications = CustomerClassification::getCollection(); // process rows $rows = []; @@ -110,7 +109,7 @@ class CustomerController extends BaseController $row['id'] = $orow->getID(); $row['first_name'] = $orow->getFirstName(); $row['last_name'] = $orow->getLastName(); - $row['customer_classification'] = $classifications[$orow->getCustomerClassification()]; + $row['customer_classification'] = CustomerClassification::getName($orow->getCustomerClassification()); $row['flag_mobile_app'] = $orow->hasMobileApp(); $row['app_mobile_number'] = $orow->hasMobileApp() && !empty($orow->getMobileSessions()) ? $orow->getMobileSessions()[0]->getPhoneNumber() : ''; @@ -410,16 +409,19 @@ class CustomerController extends BaseController } // delete all numbers not in list - $qb = $em->createQueryBuilder(); - $del_numbers = $qb->select('m') - ->from(MobileNumber::class, 'm') - ->where($qb->expr()->notIn('m.id', $number_ids)) - ->getQuery() - ->getResult(); + if (count($number_ids) > 0) + { + $qb = $em->createQueryBuilder(); + $del_numbers = $qb->select('m') + ->from(MobileNumber::class, 'm') + ->where($qb->expr()->notIn('m.id', $number_ids)) + ->getQuery() + ->getResult(); - if (!empty($del_numbers)) { - foreach ($del_numbers as $dn) { - $em->remove($dn); + if (!empty($del_numbers)) { + foreach ($del_numbers as $dn) { + $em->remove($dn); + } } } @@ -500,17 +502,20 @@ class CustomerController extends BaseController } } - // delete all vehicles not in list - $qb = $em->createQueryBuilder(); - $del_vehicles = $qb->select('cv') - ->from(CustomerVehicle::class, 'cv') - ->where($qb->expr()->notIn('cv.id', $vehicle_ids)) - ->getQuery() - ->getResult(); + if (count($vehicle_ids) > 0) + { + // delete all vehicles not in list + $qb = $em->createQueryBuilder(); + $del_vehicles = $qb->select('cv') + ->from(CustomerVehicle::class, 'cv') + ->where($qb->expr()->notIn('cv.id', $vehicle_ids)) + ->getQuery() + ->getResult(); - if (!empty($del_vehicles)) { - foreach ($del_vehicles as $dv) { - $em->remove($dv); + if (!empty($del_vehicles)) { + foreach ($del_vehicles as $dv) { + $em->remove($dv); + } } } diff --git a/src/Ramcar/NameValue.php b/src/Ramcar/NameValue.php index ef513c66..58b6d75e 100644 --- a/src/Ramcar/NameValue.php +++ b/src/Ramcar/NameValue.php @@ -9,11 +9,19 @@ class NameValue return static::COLLECTION; } - static public function validate($type_text) + static public function validate($value) { - if (isset(static::COLLECTION[$type_text])) + if (isset(static::COLLECTION[$value])) return true; return false; } + + static public function getName($value) + { + if (isset(static::COLLECTION[$value])) + return static::COLLECTION[$value]; + + return 'Unknown'; + } } diff --git a/src/Service/InvoiceCreator.php b/src/Service/InvoiceCreator.php index 3c3c3e1f..bf5fdd00 100644 --- a/src/Service/InvoiceCreator.php +++ b/src/Service/InvoiceCreator.php @@ -8,6 +8,8 @@ use App\Entity\Invoice; use App\Entity\InvoiceItem; use App\Entity\User; +use Doctrine\Common\Util\Debug; + class InvoiceCreator { const VAT_RATE = 0.12; @@ -65,6 +67,13 @@ class InvoiceCreator $total['vat_ex_price'] += $vat_ex_price; $total['total_price'] += $sell_price; + + // add item + $item = new InvoiceItem(); + $item->setInvoice($invoice) + ->setTitle($batt->getModel() . ' ' . $batt->getSize()) + ->setQuantity(1) + ->setPrice($sell_price); } // get trade-ins @@ -76,6 +85,13 @@ class InvoiceCreator $total['ti_rate'] += $ti_rate; $total['total_price'] -= $ti_rate; + + // add item + $item = new InvoiceItem(); + $item->setInvoice($invoice) + ->setTitle('Trade-in battery') + ->setQuantity(1) + ->setPrice($ti_rate); } // TODO: check if any promo is applied @@ -86,6 +102,10 @@ class InvoiceCreator ->setVAT($total['vat']) ->setDiscount($total['ti_rate']); + + // dump + Debug::dump($invoice, 1); + return $invoice; } } diff --git a/templates/customer/form.html.twig b/templates/customer/form.html.twig index 84d28664..48bad3e5 100644 --- a/templates/customer/form.html.twig +++ b/templates/customer/form.html.twig @@ -53,21 +53,7 @@