moviewyrm/bookwyrm/timezone_middleware.py
2021-06-18 14:12:56 -07:00

20 lines
567 B
Python

""" Makes the app aware of the users timezone """
import pytz
from django.utils import timezone
class TimezoneMiddleware:
"""Determine the timezone based on the request"""
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
if request.user.is_authenticated:
timezone.activate(pytz.timezone(request.user.preferred_timezone))
else:
timezone.activate(pytz.utc)
response = self.get_response(request)
timezone.deactivate()
return response