From cecf992a31fce2b5ffed1d82bcabfab36b2893b5 Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 11 Dec 2014 10:25:54 +0700 Subject: [PATCH 1/3] Added function set_cached_user --- cached_auth/__init__.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cached_auth/__init__.py b/cached_auth/__init__.py index b914b6b..dd8ab16 100644 --- a/cached_auth/__init__.py +++ b/cached_auth/__init__.py @@ -57,6 +57,13 @@ def invalidate_cache(sender, instance, **kwargs): cache.delete(key) +def set_cached_user(request, user): + """ Function to set the cached_user manually """ + key = CACHE_KEY % request.session[SESSION_KEY] + cache.set(key, user) + request._cached_user = user + + def get_cached_user(request): if not hasattr(request, '_cached_user'): try: @@ -83,5 +90,8 @@ def __init__(self): post_delete.connect(invalidate_cache, sender=profile_model) 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'." + 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.user = SimpleLazyObject(lambda: get_cached_user(request)) From 8837ef11642ba65f8acbcae7a43f212fd38a7f32 Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 11 Dec 2014 10:27:06 +0700 Subject: [PATCH 2/3] Updated travis.yml with latest django versions --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index cf7ac9d..c39c3d4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,8 +5,10 @@ python: - "2.7" env: - - DJANGO=django==1.5.1 --use-mirrors - - DJANGO=django==1.4.5 --use-mirrors + - DJANGO=django==1.7.1 --use-mirrors + - DJANGO=django==1.6.5 --use-mirrors + - DJANGO=django==1.5.11 --use-mirrors + - DJANGO=django==1.4.16 --use-mirrors install: - pip install $DJANGO From b47d9c202f01ce9057ece8467db47dd2e417809e Mon Sep 17 00:00:00 2001 From: Steven Date: Fri, 12 Dec 2014 10:53:28 +0700 Subject: [PATCH 3/3] Call user_preprocessor first --- cached_auth/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cached_auth/__init__.py b/cached_auth/__init__.py index dd8ab16..228688f 100644 --- a/cached_auth/__init__.py +++ b/cached_auth/__init__.py @@ -60,6 +60,8 @@ def invalidate_cache(sender, instance, **kwargs): def set_cached_user(request, user): """ Function to set the cached_user manually """ key = CACHE_KEY % request.session[SESSION_KEY] + if user_preprocessor: + user = user_preprocessor(user, request) cache.set(key, user) request._cached_user = user