mirror of
https://github.com/ansible/awx.git
synced 2026-01-24 07:51:23 -03:30
39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
# Copyright (c) 2015 Ansible, Inc.
|
|
# All Rights Reserved.
|
|
|
|
# Django
|
|
from django.shortcuts import render
|
|
from django.utils.safestring import mark_safe
|
|
|
|
def handle_error(request, status=404, **kwargs):
|
|
# FIXME: Should attempt to check HTTP Accept request header and return
|
|
# plain JSON response instead of HTML (maybe only for /api/*).
|
|
context = kwargs
|
|
# Return enough context to popuplate the base API template.
|
|
description = u'<pre class="err">%s</pre>' % context.get('content', '')
|
|
context['description'] = mark_safe(description)
|
|
context['content'] = ''
|
|
template_name = 'error.html'
|
|
return render(request, template_name, context, status=status)
|
|
|
|
def handle_403(request):
|
|
kwargs = {
|
|
'name': 'Forbidden',
|
|
'content': 'You don\'t have permission to access the requested page.',
|
|
}
|
|
return handle_error(request, 403, **kwargs)
|
|
|
|
def handle_404(request):
|
|
kwargs = {
|
|
'name': 'Not Found',
|
|
'content': 'The requested page could not be found.',
|
|
}
|
|
return handle_error(request, 404, **kwargs)
|
|
|
|
def handle_500(request):
|
|
kwargs = {
|
|
'name': 'Server Error',
|
|
'content': 'A server error has occurred.',
|
|
}
|
|
return handle_error(request, 500, **kwargs)
|