Changelogs

Fase 3: migra gold, transfer, revive y unstuck a islas

12 de julio de 2026 a las 21:42

adevopg · 6be04e4

- 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.




Fase 3: migra 4 servicios de personaje más a la isla reutilizable

12 de julio de 2026 a las 21:35

adevopg · 823b8d0

customize, change_race, change_faction y level_up comparten el patrón exacto de rename (select 'character' + precio -> Stripe), así que reutilizan la isla CharacterPurchaseForm / entry character_purchase cambiando solo los data-* (url, label, clase de botón). Sin JS nuevo. Se eliminan los <script> jQuery y Stripe inline de cada plantilla. Verificado: check OK, las 4 páginas redirigen a login sin sesión y las plantillas renderizan la isla correctamente.




Fase 3 (isla reutilizable): servicios de personaje de pago; aplica a rename

12 de julio de 2026 a las 21:33

adevopg · 2258df4

Componente genérico CharacterPurchaseForm (selector de personaje + botón con precio) + entry character_purchase, configurable por data-* en la plantilla. Al enviar, la vista devuelve {session_id, stripe_public_key} y se redirige al Checkout de Stripe (helper stripe.ts que carga Stripe.js). Reutilizable por rename/customize/race/ faction/level/gold/transfer... cambiando solo los data-* y la lista de personajes (json_script). Primer uso: rename_character.




Fase 3 (isla): cambiar correo en React/TSX

12 de julio de 2026 a las 21:29

adevopg · b1107c0

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.




Fase 3 (islas): cambiar contraseña y token de seguridad en React/TSX

12 de julio de 2026 a las 21:26

adevopg · d0febb4

Ambas vistas ya devolvían JSON en POST y exigen sesión, así que sin cambio de backend: - ChangePasswordForm.tsx: 4 campos (actual/nueva/confirmar/token) con mostrar-ocultar; POST form-urlencoded + CSRF a change_password; mensaje HTML; si el backend responde redirect:true (logout por seguridad), redirige a login. - SecurityTokenForm.tsx: muestra la fecha del token y un botón que solicita uno nuevo; POST -> actualiza la fecha con token_date de la respuesta. - Plantillas: los <form> + scripts jQuery se sustituyen por las islas (#change-password-app / #security-token-app) con data-csrf/data-url. El texto informativo y los enlaces se quedan en Django. Verificado: check OK; ambas vistas siguen redirigiendo a login/index sin sesión.





SÍGUENOS EN