Fase 3 (isla): renombrar hermandad en React/TSX

rename_guild_view ya devolvía JSON (session_id de Stripe). GuildRenameForm.tsx:
select de hermandades (donde el usuario es GM) + nuevo nombre/confirmar + contraseña
+ token -> Stripe Checkout. La vista pasa guild_names por json_script; se conserva
la rama {% if no_guild_leader_message %} en Django. Se elimina el JS jQuery muerto.

Verificado: check OK, render de ambas ramas correcto, redirige a login sin sesión.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-12 21:45:48 +00:00
parent 6be04e4e37
commit a4da7f068b
5 changed files with 138 additions and 37 deletions
+7 -36
View File
@@ -10,7 +10,6 @@
<a class="back-to-account-responsive" href="{% url 'my-account' %}">Regresar</a>
</div>
<div class="body-box-content justified">
<script src="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-js-handlers/rename_guild_response.js"></script>
<br>
<p>La herramienta <span>Renombrar hermandad</span> te permite cambiar de nombre a una hermandad de la cual seas Maestro de Hermandad.</p>
<br>
@@ -32,41 +31,13 @@
{% if no_guild_leader_message %}
<span class="red-form-response">{{ no_guild_leader_message }}</span>
{% else %}
<form id="nw-rename-guild-form" method="POST" action="{% url 'rename-guild' %}" accept-charset="utf-8">
{% csrf_token %}
<table class="middle-center-table">
<tr>
<td>
<select name="old-guild-name" id="old-guild-name">
<option value="">Selecciona tu hermandad</option>
{% for guild in guild_leader_data %}
<option value="{{ guild.1 }}">{{ guild.1 }}</option>
{% endfor %}
</select>
</td>
</tr>
<tr>
<td><input type="text" maxlength="24" name="new-guild-name" id="new-guild-name" placeholder="Nuevo nombre de hermandad"></td>
</tr>
<tr>
<td><input type="text" maxlength="24" name="conf-new-guild-name" id="conf-new-guild-name" placeholder="Confirmar nuevo nombre"></td>
</tr>
<tr>
<td><input type="password" name="cur-password" id="cur-password" placeholder="Contraseña actual"></td>
</tr>
<tr>
<td><input type="text" name="security-token" id="security-token" placeholder="Token de seguridad"></td>
</tr>
<tr>
<td>
<button type="submit" class="rename-guild-button" data-id="RenameGuild">Proceder al Pago</button>
</td>
</tr>
</table>
</form>
<hr>
<div class="alert-message" id="rename-guild-response"></div>
{% load django_vite %}
<!-- Isla React (Vite): renombrar hermandad (guild + campos -> Stripe). -->
<div id="rename-guild-app"
data-csrf="{{ csrf_token }}"
data-url="{% url 'rename-guild' %}"></div>
{{ guild_names|json_script:"rename-guild-data" }}
{% vite_asset 'src/entries/rename_guild.tsx' %}
{% endif %}
</div>
</div>
+2 -1
View File
@@ -92,7 +92,8 @@ def rename_guild_view(request):
return render(request, 'account/rename_guild.html', {
'guild_leader_data': guild_leader_data,
'rename_cost': rename_cost
'rename_cost': rename_cost,
'guild_names': [g[1] for g in guild_leader_data],
})
@require_paid_stripe()
def guild_rename_success_view(request):