aboutsummaryrefslogtreecommitdiff
path: root/app/dispatch/middleware.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/dispatch/middleware.py')
-rw-r--r--app/dispatch/middleware.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/app/dispatch/middleware.py b/app/dispatch/middleware.py
index 2b3e349..8ae0465 100644
--- a/app/dispatch/middleware.py
+++ b/app/dispatch/middleware.py
@@ -27,5 +27,21 @@ class LoginRequiredMiddleware(object):
if path not in EXEMPT_URLS:
login_uri = '%s?next=%s' % (settings.LOGIN_URL, request.path_info)
return HttpResponseRedirect(login_uri)
+ else:
+ # I don't really like this but I don't really see a better
+ # way of checking for this
+ try:
+ identity = request.user.identity
+ except:
+ allowed_paths = [ reverse('identity_create', kwargs={'user_id': request.user.pk}) ]
+ allowed_paths.extend(EXEMPT_URLS)
+ print(allowed_paths)
+ if request.path_info not in allowed_paths:
+ return HttpResponseRedirect(allowed_paths[0])
+
+ return self.get_response(request)
+
+
+ # TODO: Have the middleware automatically set the default identity
+ # if not set and a superuser creates one
- return self.get_response(request) \ No newline at end of file