From 86a3ea5308ec1b179a12b726c0487c3f578e2843 Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Tue, 22 Feb 2022 22:24:29 +0100 Subject: [PATCH] Fix duplication of fields in form layout --- CHANGELOG.rst | 1 + aleksis/apps/paweljong/forms.py | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 648fef2..2ea9e00 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 06cc921..1fb58f1 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.""" -- GitLab