From 9820beb0e1bc006bcb78ee9b91348947aba07d6c Mon Sep 17 00:00:00 2001 From: Ollama Date: Mon, 16 Mar 2026 06:30:07 +0000 Subject: [PATCH] Fix: Add Debit Card filter to Daily Sales and Takings Add 'only_debit' filter to Daily Sales and Takings dropdown. Reuses existing 'Sales.debit' language string for the filter label. Includes filter default initialization in getSearch() to prevent PHP warnings. Fixes #4439 --- app/Controllers/Sales.php | 2 ++ app/Models/Sale.php | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/app/Controllers/Sales.php b/app/Controllers/Sales.php index 04d907651..628ae5057 100644 --- a/app/Controllers/Sales.php +++ b/app/Controllers/Sales.php @@ -92,6 +92,7 @@ class Sales extends Secure_Controller 'only_due' => lang('Sales.due_filter'), 'only_check' => lang('Sales.check_filter'), 'only_creditcard' => lang('Sales.credit_filter'), + 'only_debit' => lang('Sales.debit'), 'only_invoices' => lang('Sales.invoice_filter'), 'selected_customer' => lang('Sales.selected_customer') ]; @@ -154,6 +155,7 @@ class Sales extends Secure_Controller 'only_check' => false, 'selected_customer' => false, 'only_creditcard' => false, + 'only_debit' => false, 'only_invoices' => $this->config['invoice_enable'] && $this->request->getGet('only_invoices', FILTER_SANITIZE_NUMBER_INT), 'is_valid_receipt' => $this->sale->is_valid_receipt($search) ]; diff --git a/app/Models/Sale.php b/app/Models/Sale.php index 719e35795..ff332ff8a 100644 --- a/app/Models/Sale.php +++ b/app/Models/Sale.php @@ -273,6 +273,10 @@ class Sale extends Model $builder->like('payment_type', lang('Sales.credit')); } + if ($filters['only_debit']) { + $builder->like('payment_type', lang('Sales.debit')); + } + $builder->groupBy('payment_type'); $payments = $builder->get()->getResultArray(); @@ -1494,6 +1498,10 @@ class Sale extends Model $builder->like('payments.payment_type', lang('Sales.credit')); } + if ($filters['only_debit']) { + $builder->like('payments.payment_type', lang('Sales.debit')); + } + if ($filters['only_due']) { $builder->like('payments.payment_type', lang('Sales.due')); }