From 5f9ffee8ea5f0ae00af68ca0f86da0d80dbf5fbd Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Sun, 26 Mar 2017 10:54:04 +0300 Subject: [PATCH] Fix to save invoice_item_type_id value --- app/Ninja/Repositories/InvoiceRepository.php | 5 +++++ app/Ninja/Transformers/InvoiceItemTransformer.php | 1 + resources/views/invoices/edit.blade.php | 1 + resources/views/invoices/knockout.blade.php | 1 + 4 files changed, 8 insertions(+) diff --git a/app/Ninja/Repositories/InvoiceRepository.php b/app/Ninja/Repositories/InvoiceRepository.php index 0758fb0ba657..89ec3e0ff00a 100644 --- a/app/Ninja/Repositories/InvoiceRepository.php +++ b/app/Ninja/Repositories/InvoiceRepository.php @@ -670,6 +670,11 @@ class InvoiceRepository extends BaseRepository $item['tax_rate1'] = $item['tax_rate']; } + // provide backwards compatability + if (! isset($item['invoice_item_type_id']) && in_array($invoiceItem->notes, [trans('texts.online_payment_surcharge'), trans('texts.online_payment_discount')])) { + $invoiceItem->invoice_item_type_id = $invoice->balance > 0 ? INVOICE_ITEM_TYPE_PENDING_GATEWAY_FEE : INVOICE_ITEM_TYPE_PAID_GATEWAY_FEE; + } + $invoiceItem->fill($item); $invoice->invoice_items()->save($invoiceItem); diff --git a/app/Ninja/Transformers/InvoiceItemTransformer.php b/app/Ninja/Transformers/InvoiceItemTransformer.php index c4d8b44d164a..da3f036dbdbb 100644 --- a/app/Ninja/Transformers/InvoiceItemTransformer.php +++ b/app/Ninja/Transformers/InvoiceItemTransformer.php @@ -20,6 +20,7 @@ class InvoiceItemTransformer extends EntityTransformer 'tax_rate1' => (float) $item->tax_rate1, 'tax_name2' => $item->tax_name2 ? $item->tax_name2 : '', 'tax_rate2' => (float) $item->tax_rate2, + 'invoice_item_type_id' => (int) $this->invoice_item_type_id, ]); } } diff --git a/resources/views/invoices/edit.blade.php b/resources/views/invoices/edit.blade.php index c23e4672540a..f210ff8e08c3 100644 --- a/resources/views/invoices/edit.blade.php +++ b/resources/views/invoices/edit.blade.php @@ -281,6 +281,7 @@ rows="1" cols="60" style="resize: vertical;height:42px" class="form-control word-wrap"> + @if ($account->showCustomField('custom_invoice_item_label1')) diff --git a/resources/views/invoices/knockout.blade.php b/resources/views/invoices/knockout.blade.php index 8ac33f48b6d5..45b7fbb4b988 100644 --- a/resources/views/invoices/knockout.blade.php +++ b/resources/views/invoices/knockout.blade.php @@ -718,6 +718,7 @@ function ItemModel(data) { self.tax_rate2IsInclusive = ko.observable(0); self.task_public_id = ko.observable(''); self.expense_public_id = ko.observable(''); + self.invoice_item_type_id = ko.observable({{ INVOICE_ITEM_TYPE_STANDARD }}); self.actionsVisible = ko.observable(false); this.tax1 = ko.computed({