From e2554a6a0cdfcb0c3301bba34e7bfb91554cf26e Mon Sep 17 00:00:00 2001 From: Ole Laursen Date: Fri, 24 Jan 2014 14:30:00 +0000 Subject: [PATCH] It turns out that Django resetting the user if REMOTE_USER is not passed in is a problem on live to, so switch the whole code base to using the middleware to set REMOTE_USER from the logged in user if not passed in from the outside - Legacy-Id: 7167 --- ietf/middleware.py | 7 ++++++- ietf/settings.py | 1 + ietf/utils/test_runner.py | 14 -------------- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/ietf/middleware.py b/ietf/middleware.py index 784a68722..484673566 100644 --- a/ietf/middleware.py +++ b/ietf/middleware.py @@ -56,4 +56,9 @@ class UnicodeNfkcNormalization(object): request.META["PATH_INFO"] = unicodedata.normalize('NFKC', request.META["PATH_INFO"]) request.path_info = unicodedata.normalize('NFKC', request.path_info) return None - \ No newline at end of file + +class FillInRemoteUserIfLoggedInMiddleware(object): + def process_request(self, request): + if request.user.is_authenticated() and "REMOTE_USER" not in request.META: + request.META["REMOTE_USER"] = request.user.username + diff --git a/ietf/settings.py b/ietf/settings.py index 0c4e450ac..30fc92fb3 100644 --- a/ietf/settings.py +++ b/ietf/settings.py @@ -119,6 +119,7 @@ MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'ietf.middleware.FillInRemoteUserIfLoggedInMiddleware', 'django.contrib.auth.middleware.RemoteUserMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.http.ConditionalGetMiddleware', diff --git a/ietf/utils/test_runner.py b/ietf/utils/test_runner.py index cdcd0647f..b7d20fce3 100644 --- a/ietf/utils/test_runner.py +++ b/ietf/utils/test_runner.py @@ -88,11 +88,6 @@ class RecordUrlsMiddleware(object): def process_request(self, request): visited_urls.add(request.path) -class FillInRemoteUserMiddleware(object): - def process_request(self, request): - if request.user.is_authenticated() and "REMOTE_USER" not in request.META: - request.META["REMOTE_USER"] = request.user.username - def get_url_patterns(module): res = [] try: @@ -204,15 +199,6 @@ class IetfTestRunner(DiscoverRunner): old_destroy = connection.creation.__class__.destroy_test_db connection.creation.__class__.destroy_test_db = safe_destroy_0_1 - classes = [] - for m in settings.MIDDLEWARE_CLASSES: - if m == "django.contrib.auth.middleware.RemoteUserMiddleware": - # the tests are not passing in REMOTE_USER, so insert - # hack to do so automatically - classes.append("ietf.utils.test_runner.FillInRemoteUserMiddleware") - classes.append(m) - settings.MIDDLEWARE_CLASSES = tuple(classes) - check_coverage = not test_labels if check_coverage: