Fase 3 (isla): cambiar correo en React/TSX
change_email_view ya devolvía JSON en POST (sesión requerida). ChangeEmailForm.tsx replica el form (contraseña actual con mostrar-ocultar, correo actual/nuevo/confirmar, token) y hace fetch form-urlencoded + CSRF a change-email; mensaje HTML. Sustituye el <form> + change_email_response.js por #change-email-app. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -15,37 +15,13 @@
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<form id="nw-change-email-form" method="POST" accept-charset="utf-8">
|
||||
{% csrf_token %}
|
||||
<table class="middle-center-table">
|
||||
<script src="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-js-handlers/change_email_response.js"></script>
|
||||
<tr>
|
||||
<td><input type="password" maxlength="16" name="cur-password" id="cur-password" placeholder="Contraseña actual" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="email" name="cur-email" id="cur-email" placeholder="Correo actual" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="email" name="new-email" id="new-email" placeholder="Nuevo correo" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="email" name="conf-new-email" id="conf-new-email" placeholder="Confirmar nuevo correo" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="text" maxlength="6" name="security-token" id="security-token" placeholder="Token de seguridad" required>
|
||||
<span class="far fa-eye toggle-token"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button type="submit" class="change-email-button">Cambiar Correo</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="alert-message" id="change-email-response"></div>
|
||||
</form>
|
||||
{% load django_vite %}
|
||||
<!-- Isla React (Vite): cambio de correo. POST a la propia vista (JSON) -> genera
|
||||
hashes y envía confirmaciones a los correos antiguo y nuevo. -->
|
||||
<div id="change-email-app"
|
||||
data-csrf="{{ csrf_token }}"
|
||||
data-url="{% url 'change-email' %}"></div>
|
||||
{% vite_asset 'src/entries/change_email.tsx' %}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user