diff --git a/mayan/apps/common/middleware/ajax_redirect.py b/mayan/apps/common/middleware/ajax_redirect.py new file mode 100644 index 0000000000..5d8d8935a2 --- /dev/null +++ b/mayan/apps/common/middleware/ajax_redirect.py @@ -0,0 +1,12 @@ +from __future__ import unicode_literals + +from django.conf import settings +from django.http import HttpResponseRedirect + + +class AjaxRedirect(object): + def process_response(self, request, response): + if request.is_ajax(): + if type(response) == HttpResponseRedirect: + response.status_code = getattr(settings, 'AJAX_REDIRECT_CODE', 302) + return response diff --git a/mayan/settings/base.py b/mayan/settings/base.py index 91d313946a..009f9f6456 100644 --- a/mayan/settings/base.py +++ b/mayan/settings/base.py @@ -120,6 +120,7 @@ MIDDLEWARE_CLASSES = ( 'common.middleware.login_required_middleware.LoginRequiredMiddleware', 'permissions.middleware.permission_denied_middleware.PermissionDeniedMiddleware', 'pagination.middleware.PaginationMiddleware', + 'common.middleware.ajax_redirect.AjaxRedirect', ) ROOT_URLCONF = 'mayan.urls'