feat: add optgroups to account selectors

This commit is contained in:
Herculino Trotta
2024-10-20 12:27:06 -03:00
parent c05f27dc62
commit ee0f71b6a2

View File

@@ -15,6 +15,7 @@ from apps.common.fields.forms.dynamic_select import (
DynamicModelChoiceField,
DynamicModelMultipleChoiceField,
)
from apps.common.fields.forms.grouped_select import GroupedModelChoiceField
from apps.common.fields.month_year import MonthYearFormField
from apps.common.widgets.crispy.submit import NoClassSubmit
from apps.common.widgets.decimal import ArbitraryDecimalDisplayNumberInput
@@ -42,6 +43,10 @@ class TransactionForm(forms.ModelForm):
label=_("Tags"),
)
reference_date = MonthYearFormField(label=_("Reference Date"), required=False)
account = GroupedModelChoiceField(
queryset=Account.objects.all(),
group_by="group",
)
class Meta:
model = Transaction
@@ -127,13 +132,15 @@ class TransactionForm(forms.ModelForm):
class TransferForm(forms.Form):
from_account = forms.ModelChoiceField(
from_account = GroupedModelChoiceField(
queryset=Account.objects.all(),
group_by="group",
label=_("From Account"),
widget=TomSelect(),
)
to_account = forms.ModelChoiceField(
to_account = GroupedModelChoiceField(
queryset=Account.objects.all(),
group_by="group",
label=_("To Account"),
widget=TomSelect(),
)
@@ -304,6 +311,11 @@ class TransferForm(forms.Form):
class InstallmentPlanForm(forms.ModelForm):
account = GroupedModelChoiceField(
queryset=Account.objects.all(),
group_by="group",
widget=TomSelect(),
)
tags = DynamicModelMultipleChoiceField(
model=TransactionTag,
to_field_name="name",
@@ -472,6 +484,11 @@ class TransactionCategoryForm(forms.ModelForm):
class RecurringTransactionForm(forms.ModelForm):
account = GroupedModelChoiceField(
queryset=Account.objects.all(),
group_by="group",
widget=TomSelect(),
)
tags = DynamicModelMultipleChoiceField(
model=TransactionTag,
to_field_name="name",