21 lines
661 B
Python
21 lines
661 B
Python
import pytz
|
|
|
|
from django.utils import timezone
|
|
|
|
class TimezoneMiddleware:
|
|
def __init__(self, get_response):
|
|
self.get_response = get_response
|
|
|
|
def __call__(self, request):
|
|
tzname = request.session.get('django_timezone')
|
|
if request.user.is_authenticated:
|
|
if hasattr(request.user, 'instructor'):
|
|
tzname = request.user.instructor.timezone
|
|
if hasattr(request.user, 'student'):
|
|
tzname = request.user.student.timezone
|
|
if tzname:
|
|
timezone.activate(pytz.timezone(tzname))
|
|
else:
|
|
timezone.deactivate()
|
|
return self.get_response(request)
|