diff --git a/src/plainui/views.py b/src/plainui/views.py index c794cc9a2b1eb4c5ae915a50c335f8cc42f5693e..a008c5155f4722261303a925b6847d390ab0fb0f 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)