"""passbook core error views""" from django.http.response import ( HttpResponseBadRequest, HttpResponseForbidden, HttpResponseNotFound, HttpResponseServerError, ) from django.template.response import TemplateResponse from django.views.generic import TemplateView class BadRequestTemplateResponse(TemplateResponse, HttpResponseBadRequest): """Combine Template response with Http Code 400""" class ForbiddenTemplateResponse(TemplateResponse, HttpResponseForbidden): """Combine Template response with Http Code 403""" class NotFoundTemplateResponse(TemplateResponse, HttpResponseNotFound): """Combine Template response with Http Code 404""" class ServerErrorTemplateResponse(TemplateResponse, HttpResponseServerError): """Combine Template response with Http Code 500""" class BadRequestView(TemplateView): """Show Bad Request message""" response_class = BadRequestTemplateResponse template_name = "error/400.html" class ForbiddenView(TemplateView): """Show Forbidden message""" response_class = ForbiddenTemplateResponse template_name = "error/403.html" class NotFoundView(TemplateView): """Show Not Found message""" response_class = NotFoundTemplateResponse template_name = "error/404.html" class ServerErrorView(TemplateView): """Show Server Error message""" response_class = ServerErrorTemplateResponse template_name = "error/500.html" # pylint: disable=useless-super-delegation def dispatch(self, *args, **kwargs): """Little wrapper so django accepts this function""" return super().dispatch(*args, **kwargs)