Source code for ls.joyous.middleware

# ------------------------------------------------------------------------------
# Middleware
# ------------------------------------------------------------------------------
import pytz
from django.utils import timezone
from django.utils.deprecation import MiddlewareMixin


[docs]class UserTimeZoneMiddleware(MiddlewareMixin): """ If there is a Wagtail user with their time zone set then activate that time zone for all pages (not just the Wagtail Admin). """ def process_request(self, request): try: tzname = request.user.wagtail_userprofile.current_time_zone except AttributeError: tzname = None if tzname: timezone.activate(pytz.timezone(tzname)) else: timezone.deactivate()