Fase 3: migra gold, transfer, revive y unstuck a islas
- revive/unstuck (acciones SOAP gratuitas): reutilizan CharacterPurchaseForm; se hace el precio opcional (botón sin "por X €" cuando no hay precio). El componente ya maneja la respuesta sin session_id mostrando el mensaje. - gold: variante GoldForm (personaje + cantidad de oro -> Stripe). La vista pasa ahora character_names y gold_options (serializables) por json_script. - transfer: variante TransferForm (personaje + cuenta destino + token -> Stripe). La vista pasa character_names por json_script. Verificado: check OK, plantillas renderizan las islas, las 4 páginas redirigen a login sin sesión. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -702,7 +702,12 @@ def gold_character_view(request):
|
||||
else:
|
||||
return JsonResponse({'success': False, 'message': f'<span class="red-form-response">Error al iniciar el pago: {stripe_response["error"]}</span>'})
|
||||
|
||||
return render(request, 'account/gold_character.html', {'characters': characters, 'gold_prices': gold_prices})
|
||||
return render(request, 'account/gold_character.html', {
|
||||
'characters': characters,
|
||||
'gold_prices': gold_prices,
|
||||
'character_names': list(characters.keys()),
|
||||
'gold_options': [{'gold_amount': p.gold_amount, 'price': str(p.price)} for p in gold_prices],
|
||||
})
|
||||
@require_paid_stripe()
|
||||
def gold_success_view(request):
|
||||
# Procesar el pago exitoso
|
||||
@@ -843,7 +848,11 @@ def transfer_character_view(request):
|
||||
else:
|
||||
return JsonResponse({'success': False, 'message': f'<span class="red-form-response">Error al iniciar el pago: {stripe_response["error"]}</span>'})
|
||||
|
||||
return render(request, 'account/transfer_character.html', {'characters': characters, 'price': price})
|
||||
return render(request, 'account/transfer_character.html', {
|
||||
'characters': characters,
|
||||
'price': price,
|
||||
'character_names': [c[0] for c in characters],
|
||||
})
|
||||
@require_paid_stripe()
|
||||
def transfer_success_view(request):
|
||||
transfer_data = request.session.get('transfer_data')
|
||||
|
||||
Reference in New Issue
Block a user