diff --git a/ietf/nomcom/forms.py b/ietf/nomcom/forms.py index 5e392297b..2e8db80a3 100644 --- a/ietf/nomcom/forms.py +++ b/ietf/nomcom/forms.py @@ -89,6 +89,21 @@ class BaseNomcomForm(object): def as_div(self): return render_to_string('nomcom/nomcomform.html', {'form': self}) + def get_fieldsets(self): + if not self.fieldsets: + yield dict(name=None, fields=self) + else: + for fieldset, fields in self.fieldsets: + fieldset_dict = dict(name=fieldset, fields=[]) + for field_name in fields: + if field_name in self.fields: + fieldset_dict['fields'].append(self[field_name]) + if not fieldset_dict['fields']: + # if there is no fields in this fieldset, we continue to next fieldset + continue + yield fieldset_dict + + class EditMembersForm(BaseNomcomForm, forms.Form): members = MultiEmailField(label="Members email", required=False, widget=forms.Textarea)