summaryrefslogtreecommitdiff
path: root/ishtar_common/admin.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2022-07-27 08:10:58 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-12-12 12:23:17 +0100
commit1562c200ca28da7b5931b9c992e803c830510499 (patch)
tree9e078e49b1a2a9380fb7e6cb2ced7b6cb88fa246 /ishtar_common/admin.py
parentf6d6293e5753a2e2acc1b71c3725c74234df2dbc (diff)
downloadIshtar-1562c200ca28da7b5931b9c992e803c830510499.tar.bz2
Ishtar-1562c200ca28da7b5931b9c992e803c830510499.zip
Admin - custom form: fix form choice initialization (refs #5418)
Diffstat (limited to 'ishtar_common/admin.py')
-rw-r--r--ishtar_common/admin.py13
1 files changed, 11 insertions, 2 deletions
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):