diff --git a/src/Service/InvoiceGenerator/CMBInvoiceGenerator.php b/src/Service/InvoiceGenerator/CMBInvoiceGenerator.php index 405dfe33..dcd6946d 100644 --- a/src/Service/InvoiceGenerator/CMBInvoiceGenerator.php +++ b/src/Service/InvoiceGenerator/CMBInvoiceGenerator.php @@ -161,11 +161,20 @@ class CMBInvoiceGenerator implements InvoiceGeneratorInterface $ierror = $this->invoiceBatteries($criteria, $invoice_items); } + // get the meta for service charges + $service_charges = $jo->getMeta('service_charges'); + if ($service_charges != null) + { + $service_charges = $jo->getMeta('service_charges'); + + $this->invoiceServiceCharges($criteria, $service_charges); + } + + if ($ierror) { $error_array['invoice'] = $ierror; } - else { // generate the invoice @@ -641,12 +650,13 @@ class CMBInvoiceGenerator implements InvoiceGeneratorInterface foreach ($service_charges as $service_charge) { $amount = $service_charge->getAmount(); + $title = 'Service Charge - ' . $service_charge->getName(); $total['total_price'] += $amount; // add item $item = new InvoiceItem(); $item->setInvoice($invoice) - ->setTitle('Service Charge - ' . $service_charge->getName()) + ->setTitle($title) ->setQuantity(1) ->setPrice($amount); diff --git a/src/Service/JobOrderHandler/CMBJobOrderHandler.php b/src/Service/JobOrderHandler/CMBJobOrderHandler.php index adb0447d..bcef0c59 100644 --- a/src/Service/JobOrderHandler/CMBJobOrderHandler.php +++ b/src/Service/JobOrderHandler/CMBJobOrderHandler.php @@ -531,6 +531,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface $error_array['invoice_discount'] = 'Invalid discount specified'; // get list of service charges + $service_charges = $req->request->get('service_charges'); if (empty($error_array)) { @@ -563,6 +564,11 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface $jo->addMeta('discount', $discount); + if (!empty($service_charges)) + { + $jo->addMeta('service_charges', $service_charges); + } + // check if user is null, meaning call to create came from API if ($user != null) { diff --git a/templates/job-order/cmb.form.onestep.html.twig b/templates/job-order/cmb.form.onestep.html.twig index 7d0e3f31..2f25a8cc 100644 --- a/templates/job-order/cmb.form.onestep.html.twig +++ b/templates/job-order/cmb.form.onestep.html.twig @@ -994,6 +994,9 @@ $(function() { // add invoice items to data fields['invoice_items'] = invoiceItems; + // add service charges to data + fields['service_charges'] = sc_array; + {% if mode in ['update-processing', 'update-reassign-hub'] %} // add selected hub to data fields['hub'] = selectedHub;