From 30f8431c6b72fb98020790b353930c7aea9e84ee Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 4 Oct 2018 21:59:28 +0200 Subject: Allow to disable CSRF check for testing purpose --- example_project/settings.py | 8 ++++++++ ishtar_common/middleware.py | 8 ++++++++ 2 files changed, 16 insertions(+) create mode 100644 ishtar_common/middleware.py diff --git a/example_project/settings.py b/example_project/settings.py index a76134746..553ea52f9 100644 --- a/example_project/settings.py +++ b/example_project/settings.py @@ -261,11 +261,19 @@ DOT_BINARY = "" TEST_RUNNER = 'ishtar_common.tests.ManagedModelTestRunner' +DISABLE_CSRF_CHECK = False # for testing purpose + try: from local_settings import * except ImportError, e: print('Unable to load local_settings.py:', e) +if DISABLE_CSRF_CHECK: + MIDDLEWARE.insert( + 'ishtar_common.middleware.DisableCsrfCheck', + MIDDLEWARE.index('django.middleware.csrf.CsrfViewMiddleware') + ) + TABLE_COLS = {} # allow to overload table col settings on extra module COL_LABELS = {} diff --git a/ishtar_common/middleware.py b/ishtar_common/middleware.py new file mode 100644 index 000000000..0c7dea825 --- /dev/null +++ b/ishtar_common/middleware.py @@ -0,0 +1,8 @@ +from django.utils.deprecation import MiddlewareMixin + + +class DisableCsrfCheck(MiddlewareMixin): + def process_request(self, req): + attr = '_dont_enforce_csrf_checks' + if not getattr(req, attr, False): + setattr(req, attr, True) -- cgit v1.2.3