diff --git a/wagtail/wagtailforms/templates/wagtailforms/confirm_delete.html b/wagtail/wagtailforms/templates/wagtailforms/confirm_delete.html
new file mode 100644
index 000000000..6573b731b
--- /dev/null
+++ b/wagtail/wagtailforms/templates/wagtailforms/confirm_delete.html
@@ -0,0 +1,19 @@
+{% extends "wagtailadmin/base.html" %}
+{% load i18n %}
+{% block titletag %}{% blocktrans with title=page.title %}Delete {{ title }}{% endblocktrans %}{% endblock %}
+{% block bodyclass %}menu-explorer{% endblock %}
+
+{% block content %}
+ {% trans "Delete" as del_str %}
+ {% include "wagtailadmin/shared/header.html" with title=del_str subtitle=page.title icon="doc-empty-inverse" %}
+
+
+
+ {% trans 'Are you sure you want to delete this form submission?' %}
+
+
+
+{% endblock %}
diff --git a/wagtail/wagtailforms/views.py b/wagtail/wagtailforms/views.py
index 0ec4a0ed1..ef49a366f 100644
--- a/wagtail/wagtailforms/views.py
+++ b/wagtail/wagtailforms/views.py
@@ -7,11 +7,11 @@ from django.core.exceptions import PermissionDenied
from django.http import HttpResponse
from django.shortcuts import get_object_or_404, render, redirect
from django.utils.encoding import smart_str
-
+from django.utils.translation import ugettext as _
from wagtail.wagtailcore.models import Page
from wagtail.wagtailforms.models import FormSubmission, get_forms_for_user
from wagtail.wagtailforms.forms import SelectDateForm
-
+from wagtail.wagtailadmin import messages
def index(request):
p = request.GET.get("p", 1)
@@ -34,9 +34,20 @@ def index(request):
def delete_submission(request, page_id, submission_id):
if not get_forms_for_user(request.user).filter(id=page_id).exists():
raise PermissionDenied
- FormSubmission.objects.get(id=submission_id).delete()
- return redirect('wagtailforms_list_submissions', page_id)
+ submission = get_object_or_404(FormSubmission, id=submission_id)
+ page = get_object_or_404(Page, id=page_id)
+
+ if request.method == 'POST':
+ submission.delete()
+
+ messages.success(request, _("Submission deleted."))
+ return redirect('wagtailforms_list_submissions', page_id)
+
+ return render(request, 'wagtailforms/confirm_delete.html', {
+ 'page': page,
+ 'submission': submission
+ })
def list_submissions(request, page_id):
form_page = get_object_or_404(Page, id=page_id).specific