Skip to content

Commit dc69601

Browse files
committed
add custom is_ajax detecting function
1 parent a39e401 commit dc69601

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

bootstrap_modal_forms/mixins.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
from django.contrib.auth import login as auth_login
33
from django.http import HttpResponseRedirect
44

5+
from .utils import is_ajax
6+
57

68
class PassRequestMixin(object):
79
"""
@@ -38,8 +40,7 @@ class CreateUpdateAjaxMixin(object):
3840
"""
3941

4042
def save(self, commit=True):
41-
# if not self.request.is_ajax() or self.request.POST.get('closeOnSubmit') == 'False':
42-
if not self.request.is_ajax() or self.request.POST.get('asyncUpdate') == 'True':
43+
if not is_ajax(self.request.META) or self.request.POST.get('asyncUpdate') == 'True':
4344
instance = super(CreateUpdateAjaxMixin, self).save(commit=commit)
4445
else:
4546
instance = super(CreateUpdateAjaxMixin, self).save(commit=False)
@@ -62,7 +63,7 @@ class LoginAjaxMixin(object):
6263
"""
6364

6465
def form_valid(self, form):
65-
if not self.request.is_ajax():
66+
if not is_ajax(self.request.META):
6667
auth_login(self.request, form.get_user())
6768
messages.success(self.request, self.success_message)
68-
return HttpResponseRedirect(self.get_success_url())
69+
return HttpResponseRedirect(self.get_success_url())

bootstrap_modal_forms/utils.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
def is_ajax(meta):
2+
if 'HTTP_X_REQUESTED_WITH' not in meta:
3+
return False
4+
5+
if meta['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest':
6+
return True
7+
8+
return False

0 commit comments

Comments
 (0)