Files
centurion_erp/app/centurion/middleware/timezone.py
2025-05-16 22:10:38 +09:30

38 lines
774 B
Python

import zoneinfo
from django.utils import timezone
class TimezoneMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
def _activate_tz(tz):
timezone.activate(zoneinfo.ZoneInfo(tz))
# tzname = request.session.get("django_timezone", None)
# if tzname:
# _activate_tz(tzname)
# else:
user = request.user
if hasattr(user, 'user_settings'):
tzname = user.user_settings.all()[0].timezone
# set the cookie
# request.session['django_timezone'] = tzname
_activate_tz(tzname)
else:
timezone.deactivate()
return self.get_response(request)