From 1fbfaa72c6754cbed68b3556818cf512a33c1ca8 Mon Sep 17 00:00:00 2001
From: "N. Geisler" <ngeisler@fachschaft.informatik.tu-darmstadt.de>
Date: Sun, 10 May 2020 17:50:14 +0200
Subject: [PATCH] fix form validation for AKOwnerForm

work with new unique_together
instead of unique property
---
 AKSubmission/forms.py |  5 ++++-
 AKSubmission/views.py | 12 ++++--------
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/AKSubmission/forms.py b/AKSubmission/forms.py
index dc8bd854..8b605f3c 100644
--- a/AKSubmission/forms.py
+++ b/AKSubmission/forms.py
@@ -134,7 +134,10 @@ class AKOwnerForm(forms.ModelForm):
 
     class Meta:
         model = AKOwner
-        fields = ['name', 'institution', 'link']
+        fields = ['name', 'institution', 'link', 'event']
+        widgets = {
+            'event': forms.HiddenInput
+        }
 
 
 class AKDurationForm(forms.ModelForm):
diff --git a/AKSubmission/views.py b/AKSubmission/views.py
index 6dbcf0f6..9cff56f4 100644
--- a/AKSubmission/views.py
+++ b/AKSubmission/views.py
@@ -8,7 +8,6 @@ from django.views import View
 from django.views.generic import ListView, DetailView, CreateView, UpdateView, DeleteView
 
 from AKModel.models import AK, AKCategory, AKTag, AKOwner, AKSlot
-from AKModel.models import Event
 from AKModel.views import EventSlugMixin
 from AKModel.views import FilterByEventSlugMixin
 from AKSubmission.forms import AKWishForm, AKOwnerForm, AKEditForm, AKSubmissionForm, AKDurationForm
@@ -180,13 +179,10 @@ class AKOwnerCreateView(EventSlugMixin, CreateView):
         return reverse_lazy('submit:submit_ak',
                             kwargs={'event_slug': self.kwargs['event_slug'], 'owner_slug': self.object.slug})
 
-    def form_valid(self, form):
-        instance = form.save(commit=False)
-
-        # Set event
-        instance.event = Event.get_by_slug(self.kwargs["event_slug"])
-
-        return super().form_valid(form)
+    def get_initial(self):
+        initials = super(AKOwnerCreateView, self).get_initial()
+        initials['event'] = self.event
+        return initials
 
 
 class AKOwnerSelectDispatchView(EventSlugMixin, View):
-- 
GitLab