From caa5385e22d2366dc269865c2e03837fb2d29655 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 13 Sep 2023 07:26:22 +1000 Subject: [PATCH] Updates for searchcontroller --- app/Helpers/Invoice/InvoiceItemSumInclusive.php | 16 +++++++++++++--- app/Helpers/Invoice/InvoiceSumInclusive.php | 3 ++- app/Http/Controllers/SearchController.php | 4 ++-- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/app/Helpers/Invoice/InvoiceItemSumInclusive.php b/app/Helpers/Invoice/InvoiceItemSumInclusive.php index b2a4b40337e6..1057fe1bb2f2 100644 --- a/app/Helpers/Invoice/InvoiceItemSumInclusive.php +++ b/app/Helpers/Invoice/InvoiceItemSumInclusive.php @@ -349,14 +349,16 @@ class InvoiceItemSumInclusive { $this->setGroupedTaxes(collect([])); - $item_tax = 0; foreach ($this->line_items as $this->item) { if ($this->sub_total == 0) { $amount = $this->item->line_total; } else { - $amount = $this->item->line_total - ($this->item->line_total * ($this->invoice->discount / $this->sub_total)); + $amount = ($this->sub_total > 0) ? $this->item->line_total - ($this->invoice->discount * ($this->item->line_total / $this->sub_total)) : 0; + // $amount = $this->item->line_total - ($this->item->line_total * ($this->invoice->discount / $this->sub_total)); } + + $item_tax = 0; $item_tax_rate1_total = $this->calcInclusiveLineTax($this->item->tax_rate1, $amount); @@ -381,9 +383,17 @@ class InvoiceItemSumInclusive if ($item_tax_rate3_total != 0) { $this->groupTax($this->item->tax_name3, $this->item->tax_rate3, $item_tax_rate3_total); } + + $this->setTotalTaxes($this->getTotalTaxes() + $item_tax); + $this->item->gross_line_total = $this->getLineTotal() + $item_tax; + + $this->item->tax_amount = $item_tax; + } - $this->setTotalTaxes($item_tax); + return $this; + + // $this->setTotalTaxes($item_tax); } diff --git a/app/Helpers/Invoice/InvoiceSumInclusive.php b/app/Helpers/Invoice/InvoiceSumInclusive.php index e57237bf3d05..69410f54db9e 100644 --- a/app/Helpers/Invoice/InvoiceSumInclusive.php +++ b/app/Helpers/Invoice/InvoiceSumInclusive.php @@ -315,8 +315,9 @@ class InvoiceSumInclusive public function setTaxMap() { - if ($this->invoice->is_amount_discount == true) { + if ($this->invoice->is_amount_discount) { $this->invoice_items->calcTaxesWithAmountDiscount(); + $this->invoice->line_items = $this->invoice_items->getLineItems(); } $this->tax_map = collect(); diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php index fba7c9529439..3b3c0f11ead8 100644 --- a/app/Http/Controllers/SearchController.php +++ b/app/Http/Controllers/SearchController.php @@ -86,7 +86,7 @@ class SearchController extends Controller 'name' => $invoice->client->present()->name() . ' - ' . $invoice->number, 'type' => '/invoice', 'id' => $invoice->hashed_id, - 'path' => "/clients/{$invoice->hashed_id}/edit", + 'path' => "/invoices/{$invoice->hashed_id}/edit", 'heading' => ctrans('texts.invoices') ]; }); @@ -104,7 +104,7 @@ class SearchController extends Controller 'custom_fields' => '/settings/user_details/custom_fields', 'preferences' => '/settings/user_details/preferences', 'company_details' => '/settings/company_details', - 'company_details,details' => '/settings/company_details/details', + 'company_details,details' => '/settings/company_details/', 'company_details,address' => '/settings/company_details/address', 'company_details,logo' => '/settings/company_details/logo', 'company_details,defaults' => '/settings/company_details/defaults',