From 729ea67660bfbf114e4ea287f2426a8821ad2e04 Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Wed, 1 Oct 2025 17:54:49 +0500 Subject: [PATCH 1/2] add: add filters --- core/apps/finance/views/cash_transaction.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/apps/finance/views/cash_transaction.py b/core/apps/finance/views/cash_transaction.py index 2100bbc..72aefa6 100644 --- a/core/apps/finance/views/cash_transaction.py +++ b/core/apps/finance/views/cash_transaction.py @@ -71,8 +71,16 @@ class CashTransactionStatisticsApiView(views.APIView): def get(self, request): cash_transaction_ids = request.query_params.getlist('cash_transaction') + start_date = request.query_params.get('start_date') + end_date = request.query_params.get('end_date') + project_ids = request.query_params.getlist('project_ids') + if cash_transaction_ids: queryset = CashTransaction.objects.filter(id__in=cash_transaction_ids) + if start_date and end_date: + queryset = CashTransaction.objects.filter(created_at__range=(start_date, end_date)) + if project_ids: + queryset = CashTransaction.objects.filter(projects__id__in=project_ids) else: queryset = CashTransaction.objects.all() res = queryset.aggregate( From fbebccd00ac224f3070e3f60dbdfe9248f90ce29 Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Thu, 2 Oct 2025 15:28:27 +0500 Subject: [PATCH 2/2] fix --- core/apps/finance/views/cash_transaction.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/apps/finance/views/cash_transaction.py b/core/apps/finance/views/cash_transaction.py index 72aefa6..e227c8c 100644 --- a/core/apps/finance/views/cash_transaction.py +++ b/core/apps/finance/views/cash_transaction.py @@ -75,14 +75,14 @@ class CashTransactionStatisticsApiView(views.APIView): end_date = request.query_params.get('end_date') project_ids = request.query_params.getlist('project_ids') + queryset = CashTransaction.objects.all() if cash_transaction_ids: queryset = CashTransaction.objects.filter(id__in=cash_transaction_ids) if start_date and end_date: queryset = CashTransaction.objects.filter(created_at__range=(start_date, end_date)) if project_ids: queryset = CashTransaction.objects.filter(projects__id__in=project_ids) - else: - queryset = CashTransaction.objects.all() + res = queryset.aggregate( total_balance_usd=Sum('total_balance_usd'), income_balance_usd=Sum('income_balance_usd'),