From 56fe16e5a8bbff1c533555898c06b5ef0bd01183 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 9 Dec 2023 11:27:24 +1100 Subject: [PATCH 1/3] Improvements for upcoming filters --- app/Filters/InvoiceFilters.php | 40 ++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/app/Filters/InvoiceFilters.php b/app/Filters/InvoiceFilters.php index f0ef5257bf32..df04af1d072a 100644 --- a/app/Filters/InvoiceFilters.php +++ b/app/Filters/InvoiceFilters.php @@ -146,22 +146,25 @@ class InvoiceFilters extends QueryFilters */ public function upcoming(): Builder { - return $this->builder->whereIn('status_id', [Invoice::STATUS_PARTIAL, Invoice::STATUS_SENT]) - ->where('is_deleted', 0) - ->where('balance', '>', 0) - ->where(function ($query) { - - $query->whereNull('due_date') - ->orWhere(function ($q) { - $q->where('due_date', '>=', now()->startOfDay()->subSecond())->where('partial', 0)->company(); - }) - ->orWhere(function ($q) { - $q->where('partial_due_date', '>=', now()->startOfDay()->subSecond())->where('partial', '>', 0)->company(); - }); - }) - ->orderByRaw('ISNULL(due_date), due_date '. 'desc') - ->orderByRaw('ISNULL(partial_due_date), partial_due_date '. 'desc'); + return $this->builder->where(function ($query) { + $query->whereIn('status_id', [Invoice::STATUS_PARTIAL, Invoice::STATUS_SENT]) + ->where('is_deleted', 0) + ->where('balance', '>', 0) + ->where(function ($query) { + + $query->whereNull('due_date') + ->orWhere(function ($q) { + $q->where('due_date', '>=', now()->startOfDay()->subSecond())->where('partial', 0); + }) + ->orWhere(function ($q) { + $q->where('partial_due_date', '>=', now()->startOfDay()->subSecond())->where('partial', '>', 0); + }); + + }) + ->orderByRaw('ISNULL(due_date), due_date ' . 'desc') + ->orderByRaw('ISNULL(partial_due_date), partial_due_date ' . 'desc'); + }); } @@ -172,13 +175,18 @@ class InvoiceFilters extends QueryFilters */ public function overdue(): Builder { - return $this->builder->whereIn('status_id', [Invoice::STATUS_SENT, Invoice::STATUS_PARTIAL]) + return $this->builder->where(function ($query) { + + $query->whereIn('status_id', [Invoice::STATUS_SENT, Invoice::STATUS_PARTIAL]) ->where('is_deleted', 0) + ->where('balance', '>', 0) ->where(function ($query) { $query->where('due_date', '<', now()) ->orWhere('partial_due_date', '<', now()); }) ->orderBy('due_date', 'ASC'); + }); + } /** From 3a5730e884b6f2b96d6ecacfbb3e78555c88022c Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 9 Dec 2023 11:52:42 +1100 Subject: [PATCH 2/3] Fixes for import validation --- app/Http/Requests/Import/ImportRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Requests/Import/ImportRequest.php b/app/Http/Requests/Import/ImportRequest.php index 4cc8ff93489c..44c6fe6d869e 100644 --- a/app/Http/Requests/Import/ImportRequest.php +++ b/app/Http/Requests/Import/ImportRequest.php @@ -37,7 +37,7 @@ class ImportRequest extends Request 'column_map' => 'required_with:hash|array', 'skip_header' => 'required_with:hash|boolean', 'files.*' => 'file|mimes:csv,txt', - 'bank_integration_id' => 'bail|required_if:column_map,bank_transaction|min:2' + 'bank_integration_id' => 'bail|required_with:column_map,bank_transaction|min:2' ]; } } From 0e10e99cb7b49e883ae18f9eca4cca8ca3078bef Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 9 Dec 2023 12:04:55 +1100 Subject: [PATCH 3/3] Update request rules for imports --- app/Http/Requests/Import/ImportRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Requests/Import/ImportRequest.php b/app/Http/Requests/Import/ImportRequest.php index 44c6fe6d869e..541f4f1c422c 100644 --- a/app/Http/Requests/Import/ImportRequest.php +++ b/app/Http/Requests/Import/ImportRequest.php @@ -37,7 +37,7 @@ class ImportRequest extends Request 'column_map' => 'required_with:hash|array', 'skip_header' => 'required_with:hash|boolean', 'files.*' => 'file|mimes:csv,txt', - 'bank_integration_id' => 'bail|required_with:column_map,bank_transaction|min:2' + 'bank_integration_id' => 'bail|required_with:column_map.bank_transaction|min:2' ]; } }