From 1aa28e42dbbc685ab7fa69f3d6d2b9ec428d51b3 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 4 Oct 2017 16:48:00 +0200 Subject: Generic management of types in forms --- ishtar_common/forms.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'ishtar_common/forms.py') diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index f252b83bc..5c3de7b77 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -251,6 +251,8 @@ def get_data_from_formset(data): class ManageOldType(object): + TYPES = [] # (field_name, model, is_multiple) list + def __init__(self, *args, **kwargs): """ init_data is used to manage deactivated items in list when editing @@ -288,6 +290,12 @@ class ManageOldType(object): self.init_data[k].append(val) self.init_data = MultiValueDict(self.init_data) super(ManageOldType, self).__init__(*args, **kwargs) + for field_name, model, is_multiple in self.TYPES: + self.fields[field_name].choices = \ + model.get_types( + empty_first=not is_multiple, + initial=self.init_data.get(field_name)) + self.fields[field_name].help_text = model.get_help() class DocumentGenerationForm(forms.Form): -- cgit v1.2.3