summaryrefslogtreecommitdiffstats
path: root/pharos-dashboard/account/middleware.py
diff options
context:
space:
mode:
authormaxbr <maxbr@mi.fu-berlin.de>2016-08-19 17:11:58 +0200
committermaxbr <maxbr@mi.fu-berlin.de>2016-08-19 17:11:58 +0200
commita1da09ca6e089913a6aacd5f55051a7f19d6f1fc (patch)
tree2b2a498a4eb0135bc99d03fe0e2aff2d6fbe8ab1 /pharos-dashboard/account/middleware.py
parent79aec84973032e15ae9d36fcbd7d7d42af3283d1 (diff)
Implement periodic tasks
JIRA: RELENG-12 The dashboard is now querying jenkins periodically and saving the results in the database. This fixes delays that were caused by calling the jenkins API. Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
Diffstat (limited to 'pharos-dashboard/account/middleware.py')
-rw-r--r--pharos-dashboard/account/middleware.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/pharos-dashboard/account/middleware.py b/pharos-dashboard/account/middleware.py
index f5170ba..6f7cac7 100644
--- a/pharos-dashboard/account/middleware.py
+++ b/pharos-dashboard/account/middleware.py
@@ -1,7 +1,8 @@
-from django.core.exceptions import ObjectDoesNotExist
from django.utils import timezone
from django.utils.deprecation import MiddlewareMixin
+from account.models import UserProfile
+
class TimezoneMiddleware(MiddlewareMixin):
"""
@@ -10,6 +11,12 @@ class TimezoneMiddleware(MiddlewareMixin):
"""
def process_request(self, request):
if request.user.is_authenticated:
- timezone.activate(request.user.userprofile.timezone)
+ 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()