From 453decdbc02009e4bc193ed52345f2341147b9ee Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Fri, 7 Jan 2022 14:49:12 +0100
Subject: [PATCH] Pass user-readable message in all 404s

---
 aleksis/core/views.py | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/aleksis/core/views.py b/aleksis/core/views.py
index c3825b7b6..cfb9cd5b3 100644
--- a/aleksis/core/views.py
+++ b/aleksis/core/views.py
@@ -15,7 +15,6 @@ from django.http import (
     Http404,
     HttpRequest,
     HttpResponse,
-    HttpResponseNotFound,
     HttpResponseRedirect,
     HttpResponseServerError,
     JsonResponse,
@@ -673,7 +672,7 @@ def preferences(
             raise PermissionDenied()
     else:
         # Invalid registry name passed from URL
-        return HttpResponseNotFound()
+        raise Http404(_("The requested preference registry does not exist"))
 
     if not section and len(registry.sections()) > 0:
         default_section = list(registry.sections())[0]
@@ -913,7 +912,7 @@ class SolveDataCheckView(PermissionRequiredMixin, RevisionMixin, DetailView):
             messages.success(request, msg)
             return redirect("check_data")
         else:
-            return HttpResponseNotFound()
+            raise Http404(_("The requested solve option does not exist"))
 
 
 class DashboardWidgetListView(PermissionRequiredMixin, SingleTableView):
@@ -1323,7 +1322,7 @@ class RedirectToPDFFile(SingleObjectMixin, View):
     def get(self, *args, **kwargs):
         file_object = self.get_object()
         if not file_object.file:
-            raise Http404()
+            raise Http404(_("The requested PDF file does not exist"))
         return redirect(file_object.file.url)
 
 
@@ -1332,11 +1331,11 @@ class CeleryProgressView(View):
 
     def get(self, request: HttpRequest, task_id: str, *args, **kwargs) -> HttpResponse:
         if request.user.is_anonymous:
-            raise Http404()
+            raise Http404(_("The requested task does not exist or is not accessible"))
         if not TaskUserAssignment.objects.filter(
             task_result__task_id=task_id, user=request.user
         ).exists():
-            raise Http404()
+            raise Http404(_("The requested task does not exist or is not accessible"))
         return get_progress(request, task_id, *args, **kwargs)
 
 
-- 
GitLab