From b8802ffd5794ea59e8b4367c97a02dc896461684 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Mon, 21 Feb 2022 17:37:57 +0100
Subject: [PATCH] Add confirmation of retraction deadline

Closes #9
---
 CHANGELOG.rst                   |  1 +
 aleksis/apps/paweljong/forms.py | 11 +++++++++++
 aleksis/apps/paweljong/views.py |  2 ++
 3 files changed, 14 insertions(+)

diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index c41a565..50d87cc 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -19,6 +19,7 @@ Fixed
 ~~~~~
 
 * Typo in success_url of CreateEventView
+* COnfirmation of retraction deadline was missing
 
 `1.0`_
 ------
diff --git a/aleksis/apps/paweljong/forms.py b/aleksis/apps/paweljong/forms.py
index c7c1fe8..9ac8149 100644
--- a/aleksis/apps/paweljong/forms.py
+++ b/aleksis/apps/paweljong/forms.py
@@ -374,6 +374,17 @@ class RegisterEventConsent(ExtensibleForm):
             node = Row(f"consent_{field.pk}")
             self.add_node_to_layout(node)
 
+        if event.date_retraction:
+            field_instance = forms.BooleanField(
+                required=True,
+                label=_(
+                    "I confirm that the retraction of the registration is not possible anymore after {}"
+                ).format(event.date_retraction),
+            )
+            self.fields["retraction_deadline"] = field_instance
+            node = Row("retraction_deadline")
+            self.add_node_to_layout(node)
+
 
 class EditEventRegistrationForm(forms.ModelForm):
 
diff --git a/aleksis/apps/paweljong/views.py b/aleksis/apps/paweljong/views.py
index aac8295..13f0a78 100644
--- a/aleksis/apps/paweljong/views.py
+++ b/aleksis/apps/paweljong/views.py
@@ -550,6 +550,8 @@ class RegisterEventWizardView(SessionWizardView):
             ] = cleaned_data_additional[field.title]
 
         for field in cleaned_data_consent:
+            if not field.startswith("consent_"):
+                continue
             pk = int(field.split("_")[1])
             term = Terms.objects.get(id=pk)
             registration.accepted_terms.add(term)
-- 
GitLab