diff options
author | maxbr <maxbr@mi.fu-berlin.de> | 2016-09-26 16:36:11 +0200 |
---|---|---|
committer | maxbr <maxbr@mi.fu-berlin.de> | 2016-09-26 16:36:11 +0200 |
commit | ff30b14a212f38cf59084d30e9f13f9f92d2be3b (patch) | |
tree | cbe10ef00ef2be5650bedb5b81e24bd3b205f52c /tools/pharos-dashboard/src/account/middleware.py | |
parent | 3ebfdcbcc91202482edb3f63fedde48646728fcd (diff) |
Restructure dashboard project for docker deploying
Change-Id: I13cad51270504ee4bed8558598a8891af58a26ab
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
Diffstat (limited to 'tools/pharos-dashboard/src/account/middleware.py')
-rw-r--r-- | tools/pharos-dashboard/src/account/middleware.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/pharos-dashboard/src/account/middleware.py b/tools/pharos-dashboard/src/account/middleware.py new file mode 100644 index 00000000..0f1dbd86 --- /dev/null +++ b/tools/pharos-dashboard/src/account/middleware.py @@ -0,0 +1,32 @@ +############################################################################## +# Copyright (c) 2016 Max Breitenfeldt and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + + +from django.utils import timezone +from django.utils.deprecation import MiddlewareMixin + +from account.models import UserProfile + + +class TimezoneMiddleware(MiddlewareMixin): + """ + Activate the timezone from request.user.userprofile if user is authenticated, + deactivate the timezone otherwise and use default (UTC) + """ + def process_request(self, request): + if request.user.is_authenticated: + try: + tz = request.user.userprofile.timezone + timezone.activate(tz) + except UserProfile.DoesNotExist: + UserProfile.objects.create(user=request.user) + tz = request.user.userprofile.timezone + timezone.activate(tz) + else: + timezone.deactivate() |