From 56e1bdf244a69ae6f37568350b819085e65d5664 Mon Sep 17 00:00:00 2001 From: Herculino Trotta Date: Mon, 21 Oct 2024 22:04:09 -0300 Subject: [PATCH] feat: add optgroups to tomselect --- app/apps/transactions/filters.py | 2 +- app/apps/transactions/forms.py | 28 +++++++++++----------------- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/app/apps/transactions/filters.py b/app/apps/transactions/filters.py index 6c0f16b..2198d26 100644 --- a/app/apps/transactions/filters.py +++ b/app/apps/transactions/filters.py @@ -40,7 +40,7 @@ class TransactionsFilter(django_filters.FilterSet): queryset=Account.objects.all(), to_field_name="name", label=_("Accounts"), - widget=TomSelectMultiple(checkboxes=True, remove_button=True), + widget=TomSelectMultiple(checkboxes=True, remove_button=True, group_by="group"), ) category = django_filters.ModelMultipleChoiceFilter( field_name="category__name", diff --git a/app/apps/transactions/forms.py b/app/apps/transactions/forms.py index d8152b5..1ffa242 100644 --- a/app/apps/transactions/forms.py +++ b/app/apps/transactions/forms.py @@ -43,11 +43,6 @@ class TransactionForm(forms.ModelForm): label=_("Tags"), ) reference_date = MonthYearFormField(label=_("Reference Date"), required=False) - account = GroupedModelChoiceField( - queryset=Account.objects.all(), - group_by="group", - widget=TomSelect(clear_button=False), - ) class Meta: model = Transaction @@ -66,6 +61,7 @@ class TransactionForm(forms.ModelForm): widgets = { "date": forms.DateInput(attrs={"type": "date"}, format="%Y-%m-%d"), "notes": forms.Textarea(attrs={"rows": 3}), + "account": TomSelect(clear_button=False, group_by="group"), } def __init__(self, *args, **kwargs): @@ -132,17 +128,15 @@ class TransactionForm(forms.ModelForm): class TransferForm(forms.Form): - from_account = GroupedModelChoiceField( + from_account = forms.ModelChoiceField( queryset=Account.objects.all(), - group_by="group", label=_("From Account"), - widget=TomSelect(clear_button=False), + widget=TomSelect(clear_button=False, group_by="group"), ) - to_account = GroupedModelChoiceField( + to_account = forms.ModelChoiceField( queryset=Account.objects.all(), - group_by="group", label=_("To Account"), - widget=TomSelect(clear_button=False), + widget=TomSelect(clear_button=False, group_by="group"), ) from_amount = forms.DecimalField( @@ -311,10 +305,10 @@ class TransferForm(forms.Form): class InstallmentPlanForm(forms.ModelForm): - account = GroupedModelChoiceField( + account = forms.ModelChoiceField( queryset=Account.objects.all(), - group_by="group", - widget=TomSelect(clear_button=False), + label=_("From Account"), + widget=TomSelect(clear_button=False, group_by="group"), ) tags = DynamicModelMultipleChoiceField( model=TransactionTag, @@ -484,10 +478,10 @@ class TransactionCategoryForm(forms.ModelForm): class RecurringTransactionForm(forms.ModelForm): - account = GroupedModelChoiceField( + account = forms.ModelChoiceField( queryset=Account.objects.all(), - group_by="group", - widget=TomSelect(clear_button=False), + label=_("From Account"), + widget=TomSelect(clear_button=False, group_by="group"), ) tags = DynamicModelMultipleChoiceField( model=TransactionTag,