bookwyrm/bookwyrm/middleware/timezone_middleware.py

19 lines
511 B
Python
Raw Normal View History

2021-06-18 21:12:56 +00:00
""" Makes the app aware of the users timezone """
2024-04-01 19:50:31 +00:00
import zoneinfo
from django.utils import timezone
class TimezoneMiddleware:
2021-06-18 21:12:56 +00:00
"""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:
2024-04-01 19:50:31 +00:00
timezone.activate(zoneinfo.ZoneInfo(request.user.preferred_timezone))
else:
2024-04-01 19:50:31 +00:00
timezone.deactivate()
return self.get_response(request)