diff --git a/AKModel/forms.py b/AKModel/forms.py
index 43dcfa96499660292a6ea58c541f6ca1aece3979..1f5c07eeee2686434674a7b80e7b8aec6d2bab7c 100644
--- a/AKModel/forms.py
+++ b/AKModel/forms.py
@@ -68,3 +68,7 @@ class NewEventWizardActivateForm(forms.ModelForm):
     class Meta:
         fields = ["active"]
         model = Event
+
+
+class AdminIntermediateForm(forms.Form):
+    pass
diff --git a/AKModel/templates/admin/AKModel/action_intermediate.html b/AKModel/templates/admin/AKModel/action_intermediate.html
new file mode 100644
index 0000000000000000000000000000000000000000..0c211ecbb2c5aac5fcf4cdade3e636c56832db4e
--- /dev/null
+++ b/AKModel/templates/admin/AKModel/action_intermediate.html
@@ -0,0 +1,30 @@
+{% extends "admin/base_site.html" %}
+{% load tags_AKModel %}
+
+{% load i18n %}
+{% load bootstrap4 %}
+{% load fontawesome_5 %}
+
+
+{% block title %}{{event}}: {{ title }}{% endblock %}
+
+{% block content %}
+    {% block action_preview %}
+        <p>
+            {{ preview|linebreaksbr }}
+        </p>
+    {% endblock %}
+
+    <form method="post">{% csrf_token %}
+        {% bootstrap_form form %}
+
+        <div class="float-right">
+            <button type="submit" class="save btn btn-success" value="Submit">
+                {% fa5_icon "check" 'fas' %} {% trans "Confirm" %}
+            </button>
+        </div>
+        <a href="javascript:history.back()" class="btn btn-info">
+            {% fa5_icon "times" 'fas' %} {% trans "Cancel" %}
+        </a>
+    </form>
+{% endblock %}
diff --git a/AKModel/templates/admin/AKModel/message_delete.html b/AKModel/templates/admin/AKModel/message_delete.html
index 03b5899b8a1a1598f17a7094b3c896b73e4fe80e..1bdbf0a55651360f859b861a3913ae2bd9720c8e 100644
--- a/AKModel/templates/admin/AKModel/message_delete.html
+++ b/AKModel/templates/admin/AKModel/message_delete.html
@@ -1,24 +1,11 @@
-{% extends "admin/base_site.html" %}
+{% extends "admin/AKModel/action_intermediate.html" %}
 {% load tags_AKModel %}
 
 {% load i18n %}
 {% load fontawesome_5 %}
 
-{% block title %}{{event}}: {% trans "Delete Orga-Messages" %}{% endblock %}
-
-{% block content %}
-    <h2>{% trans "Delete AK Orga Messages" %}</h2>
+{% block action_preview %}
     <p>{% blocktrans with message_count=ak_messages.count %}Are you sure you want to delete all orga messages for {{ event }}? This will permanently delete {{ message_count }} message(s):{% endblocktrans %}</p>
 
     {% include "admin/AKModel/render_ak_messages.html" %}
-
-    <form method="post">{% csrf_token %}
-        <button type="submit" class="save btn btn-danger float-right" value="Confirm">
-            {% fa5_icon "check" 'fas' %} {% trans "Delete" %}
-        </button>
-
-        <a href="{% url 'admin:event_status' slug=event.slug %}" class="btn btn-info">
-            {% fa5_icon "times" 'fas' %} {% trans "Cancel" %}
-        </a>
-    </form>
 {% endblock %}
diff --git a/AKModel/templates/admin/AKModel/status.html b/AKModel/templates/admin/AKModel/status.html
index f64a5a0ce3319fd1d85c8a33c2b9def86971b254..362c72406804e4973d9600363511aac46226bbe4 100644
--- a/AKModel/templates/admin/AKModel/status.html
+++ b/AKModel/templates/admin/AKModel/status.html
@@ -115,7 +115,7 @@
             <div class="col-md-4">
                 <h3 class="block-header">{% trans "Messages" %}</h3>
                 {% include "admin/AKModel/render_ak_messages.html" %}
-                <a class="btn btn-danger" href="{% url 'admin:ak_delete_orga_messages' slug=event.slug %}">{% trans "Delete all messages" %}</a>
+                <a class="btn btn-danger" href="{% url 'admin:ak_delete_orga_messages' event_slug=event.slug %}">{% trans "Delete all messages" %}</a>
             </div>
         </div>
     {% endtimezone %}
diff --git a/AKModel/urls.py b/AKModel/urls.py
index 2071acc9edc56b506eb307f42654e9da1ba82c63..ca9cfe6745aa9321db95561536d1bc42cad13fb6 100644
--- a/AKModel/urls.py
+++ b/AKModel/urls.py
@@ -79,7 +79,7 @@ def get_admin_urls_event(admin_site):
              name="ak_csv_export"),
         path('<slug:slug>/ak-wiki-export/', admin_site.admin_view(AKWikiExportView.as_view()),
              name="ak_wiki_export"),
-        path('<slug:slug>/delete-orga-messages/', admin_site.admin_view(AKMessageDeleteView.as_view()),
+        path('<slug:event_slug>/delete-orga-messages/', admin_site.admin_view(AKMessageDeleteView.as_view()),
              name="ak_delete_orga_messages"),
         path('<slug:event_slug>/ak-slide-export/', export_slides, name="ak_slide_export"),
 
diff --git a/AKModel/views.py b/AKModel/views.py
index 2729bdb6c47aecfba4077447b334390cf2062906..08f054f14f9812dbec9cf61db67703c700d92db0 100644
--- a/AKModel/views.py
+++ b/AKModel/views.py
@@ -1,3 +1,4 @@
+from abc import ABC, abstractmethod
 from itertools import zip_longest
 
 from django.contrib import admin, messages
@@ -11,7 +12,7 @@ from django_tex.shortcuts import render_to_pdf
 from rest_framework import viewsets, permissions, mixins
 
 from AKModel.forms import NewEventWizardStartForm, NewEventWizardSettingsForm, NewEventWizardPrepareImportForm, \
-    NewEventWizardImportForm, NewEventWizardActivateForm
+    NewEventWizardImportForm, NewEventWizardActivateForm, AdminIntermediateForm
 from AKModel.models import Event, AK, AKSlot, Room, AKTrack, AKCategory, AKOwner, AKOrgaMessage, AKRequirement
 from AKModel.serializers import AKSerializer, AKSlotSerializer, RoomSerializer, AKTrackSerializer, AKCategorySerializer, \
     AKOwnerSerializer
@@ -194,22 +195,43 @@ class AKWikiExportView(AdminViewMixin, DetailView):
         return context
 
 
-class AKMessageDeleteView(AdminViewMixin, DeleteView):
-    model = Event
+class IntermediateAdminView(AdminViewMixin, FormView, ABC):
+    template_name = "admin/AKModel/action_intermediate.html"
+    form_class = AdminIntermediateForm
+
+    @abstractmethod
+    def get_preview(self):
+        pass
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context["title"] = self.title
+        context["preview"] = self.get_preview()
+        return context
+
+
+class AKMessageDeleteView(EventSlugMixin, IntermediateAdminView):
     template_name = "admin/AKModel/message_delete.html"
+    title = _("Delete AK Orga Messages")
 
     def get_orga_messages_for_event(self, event):
         return AKOrgaMessage.objects.filter(ak__event=event)
 
+    def get_preview(self):
+        return None
+
+    def get_success_url(self):
+        return reverse_lazy('admin:event_status', kwargs={'slug': self.event.slug})
+
     def get_context_data(self, **kwargs):
         context = super().get_context_data(**kwargs)
-        context["ak_messages"] = self.get_orga_messages_for_event(self.get_object())
+        context["ak_messages"] = self.get_orga_messages_for_event(self.event)
         return context
 
-    def post(self, request, *args, **kwargs):
-        self.get_orga_messages_for_event(self.get_object()).delete()
+    def form_valid(self, form):
+        self.get_orga_messages_for_event(self.event).delete()
         messages.add_message(self.request, messages.SUCCESS, _("AK Orga Messages successfully deleted"))
-        return HttpResponseRedirect(reverse_lazy('admin:event_status', kwargs={'slug': self.get_object().slug}))
+        return super().form_valid(form)
 
 
 class WizardViewMixin: