Make it possible to put the site in maintenance mode
By specifying the UTC date from which the maintenance shoulds start,
developers can put the site in 'maintenance' mode.
Also redirect to /maintenance if we get a CapabilityDisabledError.
Patch by: Sverre Rabbelier
class LazyUser(object):
def __get__(self, request, obj_type=None):
if not hasattr(request, '_cached_user'):
from django.contrib.auth import get_user
request._cached_user = get_user(request)
return request._cached_user
class AuthenticationMiddleware(object):
def process_request(self, request):
assert hasattr(request, 'session'), "The Django authentication middleware requires session middleware to be installed. Edit your MIDDLEWARE_CLASSES setting to insert 'django.contrib.sessions.middleware.SessionMiddleware'."
request.__class__.user = LazyUser()
return None