diff --git a/passbook/core/templates/error/403.html b/passbook/core/templates/error/403.html deleted file mode 100644 index 7aaebb64c..000000000 --- a/passbook/core/templates/error/403.html +++ /dev/null @@ -1,26 +0,0 @@ -{% extends 'login/base.html' %} - -{% load static %} -{% load i18n %} -{% load utils %} - -{% block head %} -{{ block.super }} - -{% endblock %} - -{% block card %} -
-

{% trans 'Forbidden' %}

-
-
- {% if 'back' in request.GET %} - {% trans 'Back' %} - {% endif %} -
-{% endblock %} diff --git a/passbook/core/templates/error/404.html b/passbook/core/templates/error/404.html deleted file mode 100644 index 3dcfbb5cc..000000000 --- a/passbook/core/templates/error/404.html +++ /dev/null @@ -1,26 +0,0 @@ -{% extends 'login/base.html' %} - -{% load static %} -{% load i18n %} -{% load utils %} - -{% block head %} -{{ block.super }} - -{% endblock %} - -{% block card %} -
-

{% trans 'Not Found' %}

-
-
- {% if 'back' in request.GET %} - {% trans 'Back' %} - {% endif %} -
-{% endblock %} diff --git a/passbook/core/templates/error/500.html b/passbook/core/templates/error/500.html deleted file mode 100644 index 4aa544a6f..000000000 --- a/passbook/core/templates/error/500.html +++ /dev/null @@ -1,26 +0,0 @@ -{% extends 'login/base.html' %} - -{% load static %} -{% load i18n %} -{% load utils %} - -{% block head %} -{{ block.super }} - -{% endblock %} - -{% block card %} -
-

{% trans 'Server Error' %}

-
-
- {% if 'back' in request.GET %} - {% trans 'Back' %} - {% endif %} -
-{% endblock %} diff --git a/passbook/core/templates/error/400.html b/passbook/core/templates/error/generic.html similarity index 74% rename from passbook/core/templates/error/400.html rename to passbook/core/templates/error/generic.html index 4c6d5c069..1c5b2ea5a 100644 --- a/passbook/core/templates/error/400.html +++ b/passbook/core/templates/error/generic.html @@ -4,16 +4,6 @@ {% load i18n %} {% load utils %} -{% block head %} -{{ block.super }} - -{% endblock %} - {% block card_title %} {% trans 'Bad Request' %} {% endblock %} diff --git a/passbook/core/views/error.py b/passbook/core/views/error.py index f199d8df1..4d498e36d 100644 --- a/passbook/core/views/error.py +++ b/passbook/core/views/error.py @@ -29,29 +29,37 @@ class ServerErrorTemplateResponse(TemplateResponse, HttpResponseServerError): class BadRequestView(TemplateView): """Show Bad Request message""" + extra_context = {"card_title": "Bad Request"} + response_class = BadRequestTemplateResponse - template_name = "error/400.html" + template_name = "error/generic.html" class ForbiddenView(TemplateView): """Show Forbidden message""" + extra_context = {"card_title": "Forbidden"} + response_class = ForbiddenTemplateResponse - template_name = "error/403.html" + template_name = "error/generic.html" class NotFoundView(TemplateView): """Show Not Found message""" + extra_context = {"card_title": "Not Found"} + response_class = NotFoundTemplateResponse - template_name = "error/404.html" + template_name = "error/generic.html" class ServerErrorView(TemplateView): """Show Server Error message""" + extra_context = {"card_title": "Server Error"} + response_class = ServerErrorTemplateResponse - template_name = "error/500.html" + template_name = "error/generic.html" # pylint: disable=useless-super-delegation def dispatch(self, *args, **kwargs): diff --git a/passbook/factors/view.py b/passbook/factors/view.py index eee50cf64..a81357e42 100644 --- a/passbook/factors/view.py +++ b/passbook/factors/view.py @@ -14,6 +14,7 @@ from passbook.core.views.utils import PermissionDeniedView from passbook.lib.config import CONFIG from passbook.lib.utils.reflection import class_to_path, path_to_class from passbook.lib.utils.urls import is_url_absolute +from passbook.lib.views import bad_request_message from passbook.policies.engine import PolicyEngine LOGGER = get_logger() @@ -62,9 +63,7 @@ class AuthenticationView(UserPassesTestMixin, View): f"match configured domain of '{config_domain}'." ) LOGGER.warning(message) - return render( - self.request, "error/400.html", context={"message": message}, status=400 - ) + return bad_request_message(self.request, message) return None def handle_no_permission(self) -> HttpResponse: diff --git a/passbook/lib/views.py b/passbook/lib/views.py index f7d25f425..cb537b826 100644 --- a/passbook/lib/views.py +++ b/passbook/lib/views.py @@ -27,4 +27,9 @@ class CreateAssignPermView(CreateView): def bad_request_message(request: HttpRequest, message: str) -> HttpResponse: """Return generic error page with message, with status code set to 400""" - return render(request, "error/400.html", {"message": message}, status=400) + return render( + request, + "error/generic.html", + {"message": message, "card_title": "Bad Request",}, + status=400, + )