feat: version 4.6.0 -- Cambio de correo con aprobacion

El usuario solicita el cambio desde Mi cuenta (correo nuevo + clave actual). Lo
aprueba un admin/superadmin (colaboradores), solo un superadmin (admins) o el propio
superadmin mediante enlace a su correo actual. Tras aprobar se envia confirmacion al
correo nuevo y aviso al actual; al confirmar se aplica el cambio y se cierran todas
las sesiones. Todo el proceso queda en auditoria. Migracion 035.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Milton Gonzalez
2026-10-28 12:03:23 -05:00
parent d562351242
commit bdc62403f4
25 changed files with 449 additions and 6 deletions
+11 -1
View File
@@ -1,9 +1,19 @@
# ESTADO — project.linkedcorp.net
Ultima actualizacion: 2026-10-28 (v4.5.0 en Git, sin desplegar)
Ultima actualizacion: 2026-10-28 (v4.6.0 en archivos, sin commit ni desplegar)
Fase actual: **En produccion** (`https://project.linkedcorp.net`, v1.1.0). MVP fase 1 operativo +
autorregistro/aprobacion/SMTP.
## Cambio de correo con aprobación (v4.6.0, sin desplegar)
- Implementado en Mi cuenta y Organización → Usuarios, con enlaces públicos de aprobación propia del superadmin y confirmación del correo nuevo.
- Migración `035_email_change_requests.sql` **aplicada en dev** (2026-10-28), no en producción (la aplica
el actualizador). Probado en dev con usuarios temporales (ya borrados): colaborador→admin aprueba,
admin→solo superadmin, superadmin→se autoaprueba por enlace al correo actual; sesiones siguen vivas
hasta confirmar desde el correo nuevo y ahí se cierran todas; login viejo falla y nuevo funciona;
tokens de un solo uso y nunca en auditoría. Pendiente: envío real con SMTP (dev → log).
- No se hizo commit ni push.
## Calendario de reuniones (v4.4.0, sin desplegar)
- v4.5.0: calendario personal para todos los roles (ver SPEC §7), capas Proyectos/Actividades/