From 3a0f06e0d3887768d77d6090c3da0b352d41e33a Mon Sep 17 00:00:00 2001 From: Herculino Trotta Date: Wed, 25 Dec 2024 11:00:33 -0300 Subject: [PATCH] feat(transactions:filter): add currency filter --- app/apps/transactions/filters.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/app/apps/transactions/filters.py b/app/apps/transactions/filters.py index d4b6e2d..93032c6 100644 --- a/app/apps/transactions/filters.py +++ b/app/apps/transactions/filters.py @@ -7,15 +7,16 @@ from django.utils.translation import gettext_lazy as _ from django_filters import Filter from apps.accounts.models import Account +from apps.common.fields.month_year import MonthYearFormField +from apps.common.widgets.decimal import ArbitraryDecimalDisplayNumberInput +from apps.common.widgets.tom_select import TomSelectMultiple +from apps.currencies.models import Currency from apps.transactions.models import ( Transaction, TransactionCategory, TransactionTag, TransactionEntity, ) -from apps.common.widgets.tom_select import TomSelectMultiple -from apps.common.fields.month_year import MonthYearFormField -from apps.common.widgets.decimal import ArbitraryDecimalDisplayNumberInput SITUACAO_CHOICES = ( ("1", _("Paid")), @@ -51,6 +52,13 @@ class TransactionsFilter(django_filters.FilterSet): label=_("Accounts"), widget=TomSelectMultiple(checkboxes=True, remove_button=True, group_by="group"), ) + currency = django_filters.ModelMultipleChoiceFilter( + field_name="account__currency", + queryset=Currency.objects.all(), + to_field_name="id", + label=_("Currencies"), + widget=TomSelectMultiple(checkboxes=True, remove_button=True), + ) category = django_filters.ModelMultipleChoiceFilter( field_name="category__name", queryset=TransactionCategory.objects.all(), @@ -167,6 +175,7 @@ class TransactionsFilter(django_filters.FilterSet): css_class="form-row", ), Field("account", size=1), + Field("currency", size=1), Field("category", size=1), Field("tags", size=1), Field("entities", size=1),