From 0ac3e91e3b73588307c268a9299cc3c5635904ec Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 26 Dec 2016 10:48:15 -0500 Subject: [PATCH] Updated middleware for Django 1.10 --- netbox/netbox/settings.py | 3 ++- netbox/utilities/middleware.py | 8 ++++++-- requirements.txt | 6 +++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 685ceb2c9..876f859f1 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -117,7 +117,8 @@ INSTALLED_APPS = ( ) # Middleware -MIDDLEWARE_CLASSES = ( +MIDDLEWARE = ( + 'debug_toolbar.middleware.DebugToolbarMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', diff --git a/netbox/utilities/middleware.py b/netbox/utilities/middleware.py index 2bd25b00c..68f3ef880 100644 --- a/netbox/utilities/middleware.py +++ b/netbox/utilities/middleware.py @@ -6,14 +6,18 @@ BASE_PATH = getattr(settings, 'BASE_PATH', False) LOGIN_REQUIRED = getattr(settings, 'LOGIN_REQUIRED', False) -class LoginRequiredMiddleware: +class LoginRequiredMiddleware(object): """ If LOGIN_REQUIRED is True, redirect all non-authenticated users to the login page. """ - def process_request(self, request): + def __init__(self, get_response): + self.get_response = get_response + + def __call__(self, request): if LOGIN_REQUIRED and not request.user.is_authenticated(): # Redirect unauthenticated requests to the login page. API requests are exempt from redirection as the API # performs its own authentication. api_path = '/{}api/'.format(BASE_PATH) if not request.path_info.startswith(api_path) and request.path_info != settings.LOGIN_URL: return HttpResponseRedirect('{}?next={}'.format(settings.LOGIN_URL, request.path_info)) + return self.get_response(request) diff --git a/requirements.txt b/requirements.txt index a7fef0b9b..5cbb0625e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ cffi>=1.8 cryptography==1.4 -Django==1.10 -django-debug-toolbar==1.4 +Django>=1.10 +django-debug-toolbar>=1.6 django-filter==0.13.0 django-rest-swagger==0.3.10 django-tables2==1.2.1 @@ -15,5 +15,5 @@ paramiko==2.0.0 psycopg2==2.6.1 py-gfm==0.1.3 pycrypto==2.6.1 -sqlparse==0.1.19 +sqlparse>=0.2 xmltodict==0.10.2