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'