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
This commit is contained in:
parent
32874a2c89
commit
e2554a6a0c
|
@ -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
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue