diff --git a/src/plainui/views.py b/src/plainui/views.py index 3e9a6b5463ef10465028bf983bdb2b10964c6d1c..5a1e9f46d2276b76044bf4b00efd84db18fa8dbc 100644 --- a/src/plainui/views.py +++ b/src/plainui/views.py @@ -17,9 +17,10 @@ from django.contrib.sites.shortcuts import get_current_site from django.core.exceptions import PermissionDenied, ValidationError, ImproperlyConfigured from django.core import signing from django.core.mail import EmailMessage +from django.core.exceptions import SuspiciousOperation from django.db import transaction, connection from django.db.models import Q, F, Prefetch -from django.http import Http404, HttpResponseBadRequest, HttpResponseRedirect, HttpResponseNotFound, HttpResponse, HttpResponseForbidden +from django.http import Http404, HttpResponseRedirect, HttpResponseNotFound, HttpResponse, HttpResponseForbidden from django.shortcuts import redirect, get_object_or_404 from django.template.loader import render_to_string from django.urls import reverse, reverse_lazy, translate_url, NoReverseMatch @@ -700,13 +701,13 @@ class StaticPageDiffView(ConferenceRequiredMixin, TemplateView): rev2_id = self.request.GET.get('rev2') if rev1_id is None or rev2_id is None: - return HttpResponseBadRequest() + raise SuspiciousOperation("Only one revision given, need two") try: rev1 = self.static_page.revisions.get(revision=rev1_id) rev2 = self.static_page.revisions.get(revision=rev2_id) except StaticPageRevision.DoesNotExist: - return HttpResponseNotFound() + raise Http404("One of the selected revisions was not found") differ = StaticPageDiff(tabsize=4) diff = differ.make_table(rev1.body.splitlines(keepends=True), rev2.body.splitlines(keepends=True), context=True, numlines=3)