From 1562c200ca28da7b5931b9c992e803c830510499 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 27 Jul 2022 08:10:58 +0200 Subject: Admin - custom form: fix form choice initialization (refs #5418) --- ishtar_common/admin.py | 13 +++++++++++-- ishtar_common/version.py | 4 ++-- 2 files changed, 13 insertions(+), 4 deletions(-) (limited to 'ishtar_common') diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index 3e388d615..fd74ee9d4 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -1848,6 +1848,14 @@ def get_choices_form(): return forms +class CustomFormForm(forms.ModelForm): + class Meta: + model = models.CustomForm + exclude = [] + + form = forms.ChoiceField(label=_("Form"), choices=get_choices_form) + + class ExcludeFieldFormset(BaseInlineFormSet): def get_form_kwargs(self, index): kwargs = super(ExcludeFieldFormset, self).get_form_kwargs(index) @@ -1869,7 +1877,7 @@ class ExcludeFieldForm(forms.ModelForm): field = forms.ChoiceField(label=_("Field")) def __init__(self, *args, **kwargs): - choices = kwargs.pop("choices") + choices = kwargs.pop("choices") if "choices" in kwargs else [] super(ExcludeFieldForm, self).__init__(*args, **kwargs) self.fields["field"].choices = choices @@ -1896,7 +1904,7 @@ class JsonFieldForm(forms.ModelForm): exclude = [] def __init__(self, *args, **kwargs): - choices = kwargs.pop("choices") + choices = kwargs.pop("choices") if "choices" in kwargs else [] super(JsonFieldForm, self).__init__(*args, **kwargs) self.fields["json_field"].choices = choices @@ -1929,6 +1937,7 @@ class CustomFormAdmin(admin.ModelAdmin): "profile_types", ) autocomplete_fields = ["users"] + form = CustomFormForm inlines = [ExcludeFieldInline, JsonFieldInline] def get_inline_instances(self, request, obj=None): diff --git a/ishtar_common/version.py b/ishtar_common/version.py index 773944beb..8f1c213f0 100644 --- a/ishtar_common/version.py +++ b/ishtar_common/version.py @@ -1,5 +1,5 @@ -# 4.0.10 -VERSION = (4, 0, 10) +# 4.0.11 +VERSION = (4, 0, 11) def get_version(): -- cgit v1.2.3