diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index 2ed5ea96..7c37fc7e 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -656,31 +656,33 @@ class JobOrderController extends BaseController protected function invoiceBatteries($em, InvoiceCriteria $criteria, $items) { // return error if there's a problem, false otherwise - - foreach ($items as $item) + if (!empty($items)) { - // check if this is a valid battery - $battery = $em->getRepository(Battery::class)->find($item['battery']); - - if (empty($battery)) + foreach ($items as $item) { - $error = 'Invalid battery specified.'; - return $error; + // check if this is a valid battery + $battery = $em->getRepository(Battery::class)->find($item['battery']); + + if (empty($battery)) + { + $error = 'Invalid battery specified.'; + return $error; + } + + // quantity + $qty = $item['quantity']; + if ($qty < 1) + continue; + + // add to criteria + $criteria->addBattery($battery, $qty); + + // if this is a trade in, add trade in + if (!empty($item['trade_in']) && TradeInType::validate($item['trade_in'])) + $criteria->addTradeIn($item['trade_in'] == 'motolite', $qty); } - - // quantity - $qty = $item['quantity']; - if ($qty < 1) - continue; - - // add to criteria - $criteria->addBattery($battery, $qty); - - // if this is a trade in, add trade in - if (!empty($item['trade_in']) && TradeInType::validate($item['trade_in'])) - $criteria->addTradeIn($item['trade_in'] == 'motolite', $qty); } - + return null; } @@ -700,7 +702,6 @@ class JobOrderController extends BaseController if (!$error) $error = $this->invoiceBatteries($em, $criteria, $items); - if ($error) { diff --git a/templates/job-order/form.html.twig b/templates/job-order/form.html.twig index 5d6950c1..9d3987ec 100644 --- a/templates/job-order/form.html.twig +++ b/templates/job-order/form.html.twig @@ -921,6 +921,11 @@ $(function() { generateInvoice(); }); + // update invoice when promo is changed + $("#invoice-promo").change(function() { + generateInvoice(); + }); + function generateInvoice() { var promo = $("#invoice-promo").val(); var table = $("#invoice-table tbody");