Add browser cookie support for timezone middleware.

This commit is contained in:
Roberto Rosario
2015-07-08 00:17:44 -04:00
parent 3861bc351a
commit 857cf7b1b2
4 changed files with 14 additions and 8 deletions

View File

@@ -2,17 +2,18 @@ from __future__ import unicode_literals
import pytz
from django.conf import settings
from django.utils import timezone
class TimezoneMiddleware(object):
def process_request(self, request):
if hasattr(request, 'session'):
tzname = request.session.get('django_timezone')
if tzname:
timezone.activate(pytz.timezone(tzname))
else:
timezone.deactivate()
tzname = request.session.get(settings.TIMEZONE_SESSION_KEY)
else:
tzname = HttpRequest.COOKIES.get(settings.TIMEZONE_COOKIE_NAME)
if tzname:
timezone.activate(pytz.timezone(tzname))
else:
# TODO: Cookie, browser based timezone
timezone.deactivate()