From f372e3636e7890a20b7528174a0d239125833147 Mon Sep 17 00:00:00 2001 From: cuneytsenturk Date: Wed, 7 Nov 2018 17:58:55 +0300 Subject: [PATCH] Invoice and bill create/update empty tax issue solved. --- app/Jobs/Expense/CreateBill.php | 18 ++++++++++-------- app/Jobs/Expense/CreateBillItem.php | 6 +++++- app/Jobs/Expense/UpdateBill.php | 18 ++++++++++-------- app/Jobs/Income/CreateInvoice.php | 18 ++++++++++-------- app/Jobs/Income/CreateInvoiceItem.php | 6 +++++- app/Jobs/Income/UpdateInvoice.php | 18 ++++++++++-------- resources/views/expenses/bills/item.blade.php | 2 +- .../views/incomes/invoices/item.blade.php | 2 +- 8 files changed, 52 insertions(+), 36 deletions(-) diff --git a/app/Jobs/Expense/CreateBill.php b/app/Jobs/Expense/CreateBill.php index d5555a348..92d64d6a5 100644 --- a/app/Jobs/Expense/CreateBill.php +++ b/app/Jobs/Expense/CreateBill.php @@ -59,14 +59,16 @@ class CreateBill $sub_total += $bill_item->total; // Set taxes - foreach ($bill_item->item_taxes as $item_tax) { - if (isset($taxes) && array_key_exists($item_tax['tax_id'], $taxes)) { - $taxes[$item_tax['tax_id']]['amount'] += $item_tax['amount']; - } else { - $taxes[$item_tax['tax_id']] = [ - 'name' => $item_tax['name'], - 'amount' => $item_tax['amount'] - ]; + if ($bill_item->item_taxes) { + foreach ($bill_item->item_taxes as $item_tax) { + if (isset($taxes) && array_key_exists($item_tax['tax_id'], $taxes)) { + $taxes[$item_tax['tax_id']]['amount'] += $item_tax['amount']; + } else { + $taxes[$item_tax['tax_id']] = [ + 'name' => $item_tax['name'], + 'amount' => $item_tax['amount'] + ]; + } } } } diff --git a/app/Jobs/Expense/CreateBillItem.php b/app/Jobs/Expense/CreateBillItem.php index 373e0c378..695f2ae8d 100644 --- a/app/Jobs/Expense/CreateBillItem.php +++ b/app/Jobs/Expense/CreateBillItem.php @@ -180,8 +180,12 @@ class CreateBillItem 'total' => $item_amount, ]); + $bill_item->item_taxes = false; + $bill_item->inclusives = false; + $bill_item->compounds = false; + + // set item_taxes for if (!empty($this->data['tax_id'])) { - // set item_taxes for $bill_item->item_taxes = $item_taxes; $bill_item->inclusives = $inclusives; $bill_item->compounds = $compounds; diff --git a/app/Jobs/Expense/UpdateBill.php b/app/Jobs/Expense/UpdateBill.php index 1d712626d..435cf72be 100644 --- a/app/Jobs/Expense/UpdateBill.php +++ b/app/Jobs/Expense/UpdateBill.php @@ -62,14 +62,16 @@ class UpdateBill $sub_total += $bill_item->total; // Set taxes - foreach ($bill_item->item_taxes as $item_tax) { - if (isset($taxes) && array_key_exists($item_tax['tax_id'], $taxes)) { - $taxes[$item_tax['tax_id']]['amount'] += $item_tax['amount']; - } else { - $taxes[$item_tax['tax_id']] = [ - 'name' => $item_tax['name'], - 'amount' => $item_tax['amount'] - ]; + if ($bill_item->item_taxes) { + foreach ($bill_item->item_taxes as $item_tax) { + if (isset($taxes) && array_key_exists($item_tax['tax_id'], $taxes)) { + $taxes[$item_tax['tax_id']]['amount'] += $item_tax['amount']; + } else { + $taxes[$item_tax['tax_id']] = [ + 'name' => $item_tax['name'], + 'amount' => $item_tax['amount'] + ]; + } } } } diff --git a/app/Jobs/Income/CreateInvoice.php b/app/Jobs/Income/CreateInvoice.php index 7f04c6d8c..3139b1471 100644 --- a/app/Jobs/Income/CreateInvoice.php +++ b/app/Jobs/Income/CreateInvoice.php @@ -60,14 +60,16 @@ class CreateInvoice $sub_total += $invoice_item->total; // Set taxes - foreach ($invoice_item->item_taxes as $item_tax) { - if (isset($taxes) && array_key_exists($item_tax['tax_id'], $taxes)) { - $taxes[$item_tax['tax_id']]['amount'] += $item_tax['amount']; - } else { - $taxes[$item_tax['tax_id']] = [ - 'name' => $item_tax['name'], - 'amount' => $item_tax['amount'] - ]; + if ($invoice_item->item_taxes) { + foreach ($invoice_item->item_taxes as $item_tax) { + if (isset($taxes) && array_key_exists($item_tax['tax_id'], $taxes)) { + $taxes[$item_tax['tax_id']]['amount'] += $item_tax['amount']; + } else { + $taxes[$item_tax['tax_id']] = [ + 'name' => $item_tax['name'], + 'amount' => $item_tax['amount'] + ]; + } } } } diff --git a/app/Jobs/Income/CreateInvoiceItem.php b/app/Jobs/Income/CreateInvoiceItem.php index 1e01167d6..d6e5fc953 100644 --- a/app/Jobs/Income/CreateInvoiceItem.php +++ b/app/Jobs/Income/CreateInvoiceItem.php @@ -207,8 +207,12 @@ class CreateInvoiceItem 'total' => $item_amount, ]); + $invoice_item->item_taxes = false; + $invoice_item->inclusives = false; + $invoice_item->compounds = false; + + // set item_taxes for if (!empty($this->data['tax_id'])) { - // set item_taxes for $invoice_item->item_taxes = $item_taxes; $invoice_item->inclusives = $inclusives; $invoice_item->compounds = $compounds; diff --git a/app/Jobs/Income/UpdateInvoice.php b/app/Jobs/Income/UpdateInvoice.php index ab3831340..075550cff 100644 --- a/app/Jobs/Income/UpdateInvoice.php +++ b/app/Jobs/Income/UpdateInvoice.php @@ -63,14 +63,16 @@ class UpdateInvoice $sub_total += $invoice_item->total; // Set taxes - foreach ($invoice_item->item_taxes as $item_tax) { - if (isset($taxes) && array_key_exists($item_tax['tax_id'], $taxes)) { - $taxes[$item_tax['tax_id']]['amount'] += $item_tax['amount']; - } else { - $taxes[$item_tax['tax_id']] = [ - 'name' => $item_tax['name'], - 'amount' => $item_tax['amount'] - ]; + if ($invoice_item->item_taxes) { + foreach ($invoice_item->item_taxes as $item_tax) { + if (isset($taxes) && array_key_exists($item_tax['tax_id'], $taxes)) { + $taxes[$item_tax['tax_id']]['amount'] += $item_tax['amount']; + } else { + $taxes[$item_tax['tax_id']] = [ + 'name' => $item_tax['name'], + 'amount' => $item_tax['amount'] + ]; + } } } } diff --git a/resources/views/expenses/bills/item.blade.php b/resources/views/expenses/bills/item.blade.php index a99a40f0b..f4763923b 100644 --- a/resources/views/expenses/bills/item.blade.php +++ b/resources/views/expenses/bills/item.blade.php @@ -35,7 +35,7 @@ @stack('taxes_td_start') has('item.' . $item_row . '.tax_id') ? 'class="has-error"' : '' }}> @stack('tax_id_input_start') - {!! Form::select('item[' . $item_row . '][tax_id][]', $taxes, empty($item) ? setting('general.default_tax') : $item->tax_id, ['id'=> 'item-tax-'. $item_row, 'class' => 'form-control tax-select2', 'multiple' => 'true']) !!} + {!! Form::select('item[' . $item_row . '][tax_id][]', $taxes, (empty($item) || empty($item->tax_id)) ? setting('general.default_tax') : $item->tax_id, ['id'=> 'item-tax-'. $item_row, 'class' => 'form-control tax-select2', 'multiple' => 'true']) !!} {!! $errors->first('item.' . $item_row . '.tax_id', '

:message

') !!} @stack('tax_id_input_end') diff --git a/resources/views/incomes/invoices/item.blade.php b/resources/views/incomes/invoices/item.blade.php index 8c218bd63..8c9bf2970 100644 --- a/resources/views/incomes/invoices/item.blade.php +++ b/resources/views/incomes/invoices/item.blade.php @@ -35,7 +35,7 @@ @stack('taxes_td_start') has('item.' . $item_row . '.tax_id') ? 'class="has-error"' : '' }}> @stack('tax_id_input_start') - {!! Form::select('item[' . $item_row . '][tax_id][]', $taxes, empty($item) ? setting('general.default_tax') : $item->tax_id, ['id'=> 'item-tax-'. $item_row, 'class' => 'form-control tax-select2', 'multiple' => 'true']) !!} + {!! Form::select('item[' . $item_row . '][tax_id][]', $taxes, (empty($item) || empty($item->tax_id)) ? setting('general.default_tax') : $item->tax_id, ['id'=> 'item-tax-'. $item_row, 'class' => 'form-control tax-select2', 'multiple' => 'true']) !!} {!! $errors->first('item.' . $item_row . '.tax_id', '

:message

') !!} @stack('tax_id_input_end')