diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 648fef21a58c33a10fc9b41fe81bea9daa369888..2ea9e00cb62938becbcf82695a8349b9bf38cfc2 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -13,6 +13,7 @@ Fixed ~~~~~ * Fix creation on email addresses +* Fix duplication of form fields in layout `1.1`_ ---------- diff --git a/aleksis/apps/paweljong/forms.py b/aleksis/apps/paweljong/forms.py index 06cc92109a005751ceff3926f0125786ac00ab43..1fb58f1fe1b904c9cd5aa496ff7ecb838ba2f7ac 100644 --- a/aleksis/apps/paweljong/forms.py +++ b/aleksis/apps/paweljong/forms.py @@ -300,15 +300,18 @@ class RegisterEventAdditional(ExtensibleForm): def __init__(self, event, *args, **kwargs): super().__init__(*args, **kwargs) + self.__class__.layout_filled = getattr(self.__class__, "layout_filled", False) + for field in event.linked_group.additional_fields.all(): field_instance = getattr(fields, field.field_type)( required=field.required, help_text=field.help_text, ) self.fields[field.title] = field_instance - node = Fieldset(f"{field.title}", f"{field.title}") - self.add_node_to_layout(node) - + if not self.layout_filled: + node = Fieldset(f"{field.title}", f"{field.title}") + self.add_node_to_layout(node) + self.__class__.layout_filled = True class RegisterEventFinancial(ExtensibleForm): """Form to register for an event."""