Ya da los items al juego

This commit is contained in:
adevopg
2025-02-16 10:59:42 +01:00
parent 2a194d6e98
commit c3fea2e0a2
+20 -4
View File
@@ -1828,18 +1828,34 @@ def store_novawow_view(request):
'total_price': total_price_with_iva 'total_price': total_price_with_iva
}) })
from collections import Counter
def store_novawow_success_view(request): def store_novawow_success_view(request):
# Procesar el comando SOAP tras el pago exitoso # Procesar el comando SOAP tras el pago exitoso
character_name = request.session.get('store_novawow') character_name = request.session.get('store_novawow')
if not character_name: carrito = request.session.get('carrito', [])
if not character_name or not carrito:
return redirect('store-novawow') return redirect('store-novawow')
command = f".send item {character_name}" # Contar correctamente los ítems por ID
item_counts = Counter(item["id"] for item in carrito)
# Generar la lista de ítems en formato "ID:Cantidad"
items_str = " ".join(f"{item_id}:{count}" for item_id, count in item_counts.items())
# Construir el comando SOAP
command = f".send items {character_name} 'Gracias por donar a Nova WoW' 'Aquí tienes tu donación' {items_str}"
# Ejecutar el comando SOAP
response = execute_soap_command(command) response = execute_soap_command(command)
# Limpiar la sesión después del envío
request.session.pop('store_novawow', None)
request.session.pop('carrito', None)
if response is None or response.strip() == "": if response is None or response.strip() == "":
message = f"El personaje {character_name} se a anadido los items de la compra." message = f"Los ítems han sido añadidos al personaje {character_name} correctamente."
request.session.pop('store_novawow', None) # Limpiar la sesión
return render(request, 'store/store_novawow_success.html', {'message': message}) return render(request, 'store/store_novawow_success.html', {'message': message})
else: else:
return render(request, 'store/store_novawow_success.html', {'message': f"Error: {response}"}) return render(request, 'store/store_novawow_success.html', {'message': f"Error: {response}"})