|
|
@@ -96,9 +96,9 @@ class ShippingAddressView(CheckoutSessionMixin, FormView):
|
|
96
|
96
|
automatically converted into a SHIPPING address when the user checks out.
|
|
97
|
97
|
|
|
98
|
98
|
Alternatively, the user can enter a SHIPPING address directly which will be
|
|
99
|
|
- saved in the session and saved as a model when the order is sucessfully submitted.
|
|
|
99
|
+ saved in the session and later saved as ShippingAddress model when the order
|
|
|
100
|
+ is sucessfully submitted.
|
|
100
|
101
|
"""
|
|
101
|
|
-
|
|
102
|
102
|
template_name = 'checkout/shipping_address.html'
|
|
103
|
103
|
form_class = ShippingAddressForm
|
|
104
|
104
|
|
|
|
@@ -136,13 +136,16 @@ class ShippingAddressView(CheckoutSessionMixin, FormView):
|
|
136
|
136
|
|
|
137
|
137
|
def post(self, request, *args, **kwargs):
|
|
138
|
138
|
# Check if a shipping address was selected directly (eg no form was filled in)
|
|
139
|
|
- if self.request.user.is_authenticated and 'address_id' in self.request.POST:
|
|
140
|
|
- address = UserAddress._default_manager.get(pk=self.request.POST['address_id'])
|
|
141
|
|
- if 'action' in self.request.POST and self.request.POST['action'] == 'ship_to':
|
|
|
139
|
+ if self.request.user.is_authenticated() and 'address_id' in self.request.POST:
|
|
|
140
|
+ address = UserAddress._default_manager.get(pk=self.request.POST['address_id'],
|
|
|
141
|
+ user=self.request.user)
|
|
|
142
|
+ action = self.request.POST.get('action', None)
|
|
|
143
|
+ if action == 'ship_to':
|
|
142
|
144
|
# User has selected a previous address to ship to
|
|
143
|
145
|
self.checkout_session.ship_to_user_address(address)
|
|
144
|
146
|
return HttpResponseRedirect(self.get_success_url())
|
|
145
|
|
- elif 'action' in self.request.POST and self.request.POST['action'] == 'delete':
|
|
|
147
|
+ elif action == 'delete':
|
|
|
148
|
+ # Delete the selected address
|
|
146
|
149
|
address.delete()
|
|
147
|
150
|
messages.info(self.request, _("Address deleted from your address book"))
|
|
148
|
151
|
return HttpResponseRedirect(reverse('checkout:shipping-method'))
|