Skip to content

Commit

Permalink
Merge pull request #245 from tangentlabs/no-shipping-checkout
Browse files Browse the repository at this point in the history
Check if shipping method is set only if shipping is required
  • Loading branch information
codeinthehole committed Jul 23, 2012
2 parents 17de306 + f28c62e commit 8a4bdf6
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions oscar/apps/checkout/views.py
Expand Up @@ -327,13 +327,15 @@ def get(self, request, *args, **kwargs):
messages.error(request, _("You need to add some items to your basket to checkout"))
return HttpResponseRedirect(reverse('basket:summary'))

shipping_required = request.basket.is_shipping_required()

# Check that shipping address has been completed
if request.basket.is_shipping_required() and not self.checkout_session.is_shipping_address_set():
if shipping_required and not self.checkout_session.is_shipping_address_set():
messages.error(request, _("Please choose a shipping address"))
return HttpResponseRedirect(reverse('checkout:shipping-address'))

# Check that shipping method has been set
if not self.checkout_session.is_shipping_method_set():
if shipping_required and not self.checkout_session.is_shipping_method_set():
messages.error(request, _("Please choose a shipping method"))
return HttpResponseRedirect(reverse('checkout:shipping-method'))

Expand Down Expand Up @@ -370,12 +372,14 @@ def get_error_response(self):
if self.request.basket.is_empty:
messages.error(self.request, _("You need to add some items to your basket to checkout"))
return HttpResponseRedirect(reverse('basket:summary'))

shipping_required = self.request.basket.is_shipping_required()
# Check that shipping address has been completed
if self.request.basket.is_shipping_required() and not self.checkout_session.is_shipping_address_set():
if shipping_required and not self.checkout_session.is_shipping_address_set():
messages.error(self.request, _("Please choose a shipping address"))
return HttpResponseRedirect(reverse('checkout:shipping-address'))
# Check that shipping method has been set
if not self.checkout_session.is_shipping_method_set():
if shipping_required and not self.checkout_session.is_shipping_method_set():
messages.error(self.request, _("Please choose a shipping method"))
return HttpResponseRedirect(reverse('checkout:shipping-method'))

Expand Down

0 comments on commit 8a4bdf6

Please sign in to comment.