fix shop shipping

sync_v2
Raz 6 months ago
parent 0f25b54533
commit 30ca0ef20c
  1. 21
      shop/templates/shop/cart.html
  2. 8
      shop/views.py

@ -131,16 +131,23 @@
const subtotalAmount = document.getElementById('subtotal-amount');
const discountAmount = document.getElementById('discount-amount');
const finalTotal = document.getElementById('final-total');
const shippingForm = document.getElementById('shipping-form');
// Get address input elements directly
const streetAddress = document.getElementById('street-address');
const apartment = document.getElementById('apartment');
const postalCode = document.getElementById('postal-code');
const city = document.getElementById('city');
const country = document.getElementById('country');
// Function to collect shipping address data
function getShippingData() {
const formData = new FormData(shippingForm);
const shippingData = {};
formData.forEach((value, key) => {
shippingData[key] = value;
});
return shippingData;
return {
street_address: streetAddress ? streetAddress.value : '',
apartment: apartment ? apartment.value : '',
postal_code: postalCode ? postalCode.value : '',
city: city ? city.value : '',
country: country ? country.value : ''
};
}
// Initial values

@ -463,6 +463,7 @@ def create_checkout_session(request):
if not request.user.is_authenticated:
return JsonResponse({'error': 'User must be authenticated'}, status=403)
shipping_address = None
# Parse shipping address data from request
try:
data = json.loads(request.body)
@ -472,11 +473,8 @@ def create_checkout_session(request):
# Validate shipping address
shipping_form = ShippingAddressForm(shipping_data)
if not shipping_form.is_valid():
return JsonResponse({'error': 'Invalid shipping address'}, status=400)
# Save shipping address
shipping_address = shipping_form.save()
if shipping_form.is_valid():
shipping_address = shipping_form.save()
# Create the order with shipping address
order = create_order(request)

Loading…
Cancel
Save