From a5290e067ea8227633f7f36c305942fb44af08e0 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 8 Jan 2021 14:25:54 +1100 Subject: [PATCH] Fix for suming amounts payable --- .../ClientPortal/InvoiceController.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/ClientPortal/InvoiceController.php b/app/Http/Controllers/ClientPortal/InvoiceController.php index 0ae249cf8b..0f75cf33c6 100644 --- a/app/Http/Controllers/ClientPortal/InvoiceController.php +++ b/app/Http/Controllers/ClientPortal/InvoiceController.php @@ -88,17 +88,30 @@ class InvoiceController extends Controller ->whereClientId(auth()->user()->client->id) ->get(); - $total = $invoices->sum('balance'); - + //filter invoices which are payable $invoices = $invoices->filter(function ($invoice) { return $invoice->isPayable() && $invoice->balance > 0; }); + //return early if no invoices. if ($invoices->count() == 0) { return back() ->with('message', ctrans('texts.no_payable_invoices_selected')); } + //iterate and sum the payable amounts either partial or balance + $total = 0; + foreach($invoices as $invoice) + { + + if($invoice->partial > 0) + $total += $invoice->partial; + else + $total += $invoice->balance; + + } + + //format data $invoices->map(function ($invoice) { $invoice->service()->removeUnpaidGatewayFees()->save(); $invoice->balance = Number::formatValue($invoice->balance, $invoice->client->currency()); @@ -107,6 +120,7 @@ class InvoiceController extends Controller return $invoice; }); + //format totals $formatted_total = Number::formatMoney($total, auth()->user()->client); $payment_methods = auth()->user()->client->getPaymentMethods($total);