diff --git a/AKSubmission/forms.py b/AKSubmission/forms.py
index 592fb9e6deb095f685a8426191683f0d456302b7..68ecd133d46b6a1dc20b8d30725b6779cb61784a 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 1bfbd2d483621e1a27297d0dd695efd4ada22ee4..c9109fb6ffc4f8d4b46b9a8732789755b1954610 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)