From 14211003d0090ac3b3ef7fa3b75ed6348c413797 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Benjamin=20H=C3=A4ttasch?=
 <benjamin.haettasch@cs.tu-darmstadt.de>
Date: Sat, 19 Oct 2019 02:18:09 +0200
Subject: [PATCH] Implement auto-population of event for AK creation

Add TODOs for other data manipulation/auto-creation/...-tasks
---
 AKSubmission/forms.py |  2 +-
 AKSubmission/views.py | 19 ++++++++++++++++++-
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/AKSubmission/forms.py b/AKSubmission/forms.py
index 592fb9e6..68ecd133 100644
--- a/AKSubmission/forms.py
+++ b/AKSubmission/forms.py
@@ -19,7 +19,7 @@ class AKForm(forms.ModelForm):
                   'conflicts',
                   'prerequisites',
                   'notes',
-                  'event']
+                  ]
 
         widgets = {
             'requirements': forms.CheckboxSelectMultiple,
diff --git a/AKSubmission/views.py b/AKSubmission/views.py
index 1bfbd2d4..c9109fb6 100644
--- a/AKSubmission/views.py
+++ b/AKSubmission/views.py
@@ -4,7 +4,7 @@ from django.urls import reverse_lazy
 from django.utils.translation import gettext_lazy as _
 from django.views.generic import ListView, DetailView, CreateView
 
-from AKModel.models import AK, AKCategory, AKTag
+from AKModel.models import AK, AKCategory, AKTag, Event
 from AKModel.views import FilterByEventSlugMixin
 from AKSubmission.forms import AKForm
 
@@ -70,3 +70,20 @@ class AKSubmissionView(CreateView):
     def get_success_url(self):
         messages.add_message(self.request, messages.SUCCESS, _("AK successfully created"))
         return reverse_lazy('submit:ak_detail', kwargs={'event_slug': self.kwargs['event_slug'], 'pk': self.object.pk})
+
+    def form_valid(self, form):
+        instance = form.save(commit=False)
+
+        # Set event
+        instance.event = Event.get_by_slug(self.kwargs["event_slug"])
+
+        # Generate short name if not given
+        # TODO
+
+        # Generate wiki link
+        # TODO
+
+        # Generate slot(s)
+        # TODO
+
+        return super().form_valid(form)
-- 
GitLab