Ya da los items al juego
This commit is contained in:
+20
-4
@@ -1828,18 +1828,34 @@ def store_novawow_view(request):
|
||||
'total_price': total_price_with_iva
|
||||
})
|
||||
|
||||
from collections import Counter
|
||||
|
||||
def store_novawow_success_view(request):
|
||||
# Procesar el comando SOAP tras el pago exitoso
|
||||
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')
|
||||
|
||||
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)
|
||||
|
||||
# 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() == "":
|
||||
message = f"El personaje {character_name} se a anadido los items de la compra."
|
||||
request.session.pop('store_novawow', None) # Limpiar la sesión
|
||||
message = f"Los ítems han sido añadidos al personaje {character_name} correctamente."
|
||||
return render(request, 'store/store_novawow_success.html', {'message': message})
|
||||
else:
|
||||
return render(request, 'store/store_novawow_success.html', {'message': f"Error: {response}"})
|
||||
|
||||
Reference in New Issue
Block a user