diff options
Diffstat (limited to 'app/dispatch/middleware.py')
| -rw-r--r-- | app/dispatch/middleware.py | 18 |
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 |
