mirror of https://github.com/snachodog/mybuddy.git
22 lines
585 B
Python
22 lines
585 B
Python
|
import pytz
|
||
|
|
||
|
from django.utils import timezone
|
||
|
|
||
|
|
||
|
class UserTimezoneMiddleware:
|
||
|
"""
|
||
|
Sets the timezone based on a user specific setting that falls back on
|
||
|
`settings.TIME_ZONE`.
|
||
|
"""
|
||
|
def __init__(self, get_response):
|
||
|
self.get_response = get_response
|
||
|
|
||
|
def __call__(self, request):
|
||
|
timezone_name = request.session.get('user_timezone')
|
||
|
if timezone_name:
|
||
|
try:
|
||
|
timezone.activate(pytz.timezone(timezone_name))
|
||
|
except pytz.UnknownTimeZoneError:
|
||
|
pass
|
||
|
return self.get_response(request)
|