|
@@ -14,7 +14,7 @@ from oscar.apps.basket.signals import (
|
14
|
14
|
from oscar.core import ajax
|
15
|
15
|
from oscar.core.compat import url_has_allowed_host_and_scheme
|
16
|
16
|
from oscar.core.loading import get_class, get_classes, get_model
|
17
|
|
-from oscar.core.utils import redirect_to_referrer, safe_referrer
|
|
17
|
+from oscar.core.utils import is_ajax, redirect_to_referrer, safe_referrer
|
18
|
18
|
|
19
|
19
|
Applicator = get_class('offer.applicator', 'Applicator')
|
20
|
20
|
(BasketLineForm, AddToBasketForm, BasketVoucherForm, SavedLineForm) = get_classes(
|
|
@@ -186,7 +186,7 @@ class BasketView(ModelFormSetView):
|
186
|
186
|
response = super().formset_valid(formset)
|
187
|
187
|
|
188
|
188
|
# If AJAX submission, don't redirect but reload the basket content HTML
|
189
|
|
- if self.request.headers.get('x-requested-with') == 'XMLHttpRequest':
|
|
189
|
+ if is_ajax(self.request):
|
190
|
190
|
# Reload basket and apply offers again
|
191
|
191
|
self.request.basket = get_model('basket', 'Basket').objects.get(
|
192
|
192
|
id=self.request.basket.id)
|
|
@@ -247,7 +247,7 @@ class BasketView(ModelFormSetView):
|
247
|
247
|
"Your basket has got some issues. "
|
248
|
248
|
"Please correct any validation errors below."))
|
249
|
249
|
|
250
|
|
- if self.request.headers.get('x-requested-with') == 'XMLHttpRequest':
|
|
250
|
+ if is_ajax(self.request):
|
251
|
251
|
ctx = self.get_context_data(formset=formset,
|
252
|
252
|
basket=self.request.basket)
|
253
|
253
|
return self.json_response(ctx, flash_messages)
|