From 3a376fddf65f6462d747f213de94a2e07dc5fa43 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 7 Dec 2022 13:05:35 +1100 Subject: [PATCH] Improve bank transaction filters --- app/Filters/BankTransactionFilters.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/Filters/BankTransactionFilters.php b/app/Filters/BankTransactionFilters.php index e7cff05fe..8bcfc55f1 100644 --- a/app/Filters/BankTransactionFilters.php +++ b/app/Filters/BankTransactionFilters.php @@ -152,7 +152,22 @@ class BankTransactionFilters extends QueryFilters public function sort(string $sort) : Builder { $sort_col = explode('|', $sort); + + if(!is_array($sort_col)) + return $this->builder; + if($sort_col[0] == 'deposit') + return $this->builder->where('base_type', 'CREDIT')->orderBy('amount', $sort_col[1]); + + if($sort_col[0] == 'withdrawal') + return $this->builder->where('base_type', 'DEBIT')->orderBy('amount', $sort_col[1]); + + if($sort_col[0] == 'status') + $sort_col[0] = 'status_id'; + + if(in_array($sort_col[0],['invoices','expense'])) + return $this->builder; + return $this->builder->orderBy($sort_col[0], $sort_col[1]); }