From 0cb4a681f1d74dbcd6909781cb8815024b1055ad Mon Sep 17 00:00:00 2001 From: "Edgar P. Burkhart" Date: Fri, 3 Jan 2025 16:52:02 +0100 Subject: [PATCH] Refactor datalist input usage --- nummi/transaction/forms.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/nummi/transaction/forms.py b/nummi/transaction/forms.py index 31f7b09..576347b 100644 --- a/nummi/transaction/forms.py +++ b/nummi/transaction/forms.py @@ -25,6 +25,9 @@ class TransactionForm(NummiForm): widgets = { "statement": StatementSelect(), "category": CategorySelect(), + "name": DatalistInput(), + "trader": DatalistInput(), + "payment": DatalistInput(), } meta_fieldsets = [ @@ -47,16 +50,17 @@ class TransactionForm(NummiForm): _disable_statement = kwargs.pop("disable_statement", False) super().__init__(*args, **kwargs) - self.fields["category"].queryset = _user.category_set - self.fields["statement"].queryset = _user.statement_set + self.fields["category"].queryset = self.fields["category"].queryset.filter( + user=_user + ) + self.fields["statement"].queryset = self.fields["statement"].queryset.filter( + user=_user + ) + + self.fields["name"].widget.options = get_datalist(_user, "name") + self.fields["trader"].widget.options = get_datalist(_user, "trader") + self.fields["payment"].widget.options = get_datalist(_user, "payment") - self.fields["name"].widget = DatalistInput(options=get_datalist(_user, "name")) - self.fields["trader"].widget = DatalistInput( - options=get_datalist(_user, "trader") - ) - self.fields["payment"].widget = DatalistInput( - options=get_datalist(_user, "payment") - ) self.fields["category"].widget.attrs |= { "class": "category", "data-icons": json.dumps(