diff --git a/hobo/templates/403.html b/hobo/templates/403.html new file mode 100644 index 0000000..c81708c --- /dev/null +++ b/hobo/templates/403.html @@ -0,0 +1,8 @@ +{% extends "hobo/base.html" %} +{% load i18n %} + +{% block content %} +

+ {% trans "You have no permission to access this page" %} +

+{% endblock %} diff --git a/hobo/views.py b/hobo/views.py index c6a1916..baea26f 100644 --- a/hobo/views.py +++ b/hobo/views.py @@ -4,13 +4,19 @@ from django.http import HttpResponse from django.utils.translation import ugettext as _ from django.views.generic.base import TemplateView from django.views.generic import edit +from django.core.exceptions import PermissionDenied from django.core.urlresolvers import reverse from django.contrib.auth.decorators import user_passes_test from .environment.utils import Zone, get_operational_services from .forms import HoboForm, HoboUpdateForm, get_tenant_model -admin_required = user_passes_test(lambda u: u.is_superuser) +def is_superuser(u): + if not u.is_superuser: + raise PermissionDenied + return True + +admin_required = user_passes_test(is_superuser) class Home(TemplateView): template_name = 'hobo/home.html'