68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""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"""
 | 
						|
 | 
						|
    extra_context = {"card_title": "Bad Request"}
 | 
						|
 | 
						|
    response_class = BadRequestTemplateResponse
 | 
						|
    template_name = "error/generic.html"
 | 
						|
 | 
						|
 | 
						|
class ForbiddenView(TemplateView):
 | 
						|
    """Show Forbidden message"""
 | 
						|
 | 
						|
    extra_context = {"card_title": "Forbidden"}
 | 
						|
 | 
						|
    response_class = ForbiddenTemplateResponse
 | 
						|
    template_name = "error/generic.html"
 | 
						|
 | 
						|
 | 
						|
class NotFoundView(TemplateView):
 | 
						|
    """Show Not Found message"""
 | 
						|
 | 
						|
    extra_context = {"card_title": "Not Found"}
 | 
						|
 | 
						|
    response_class = NotFoundTemplateResponse
 | 
						|
    template_name = "error/generic.html"
 | 
						|
 | 
						|
 | 
						|
class ServerErrorView(TemplateView):
 | 
						|
    """Show Server Error message"""
 | 
						|
 | 
						|
    extra_context = {"card_title": "Server Error"}
 | 
						|
 | 
						|
    response_class = ServerErrorTemplateResponse
 | 
						|
    template_name = "error/generic.html"
 | 
						|
 | 
						|
    # pylint: disable=useless-super-delegation
 | 
						|
    def dispatch(self, *args, **kwargs):  # pragma: no cover
 | 
						|
        """Little wrapper so django accepts this function"""
 | 
						|
        return super().dispatch(*args, **kwargs)
 |