Arreglado los precios de Articulos en cesta

This commit is contained in:
adevopg
2025-02-16 00:43:18 +01:00
parent e6f6abdc8b
commit 4d0711236e
+9 -7
View File
@@ -1778,7 +1778,7 @@ def store_novawow_view(request):
items_in_category = Category.objects.get(name=category_name).items.values()
return JsonResponse({'success': True, 'items': list(items_in_category)})
# Si el carrito está en la sesión
# Obtener carrito desde la sesión
carrito = request.session.get('carrito', [])
total_price = sum(Decimal(item['precio']) for item in carrito) * Decimal('1.21')
@@ -1787,14 +1787,16 @@ def store_novawow_view(request):
data = json.loads(request.body)
character_name = data.get('character')
carrito = data.get('carrito')
request.session['carrito'] = carrito
if not character_name:
return JsonResponse({'success': False, 'message': 'Por favor, selecciona un personaje.'})
if category_name:
items_in_category = Category.objects.get(name=category_name).items.values()
return JsonResponse({'success': True, 'items': list(items_in_category)})
# ✅ ACTUALIZAR EL CARRITO ANTES DE CALCULAR EL PRECIO
request.session['carrito'] = carrito
request.session.modified = True # Forzar que Django guarde la sesión inmediatamente
# ✅ CALCULAR EL PRECIO CON EL CARRITO ACTUALIZADO
total_price = sum(Decimal(item['precio']) for item in carrito) * Decimal('1.21')
# Verificar si el personaje pertenece al usuario
if character_name not in characters:
@@ -1821,7 +1823,7 @@ def store_novawow_view(request):
'categories': categories,
'total_price': total_price
})
def store_novawow_success_view(request):
# Procesar el comando SOAP tras el pago exitoso
character_name = request.session.get('store_novawow')