feat: administradores por proyecto y Configuracion solo para superadmin
- Un proyecto puede tener uno o mas administradores (role_in_project= 'admin' en project_members), independiente del rol global del usuario. Nuevo PUT /api/projects/:id/members/:userId/role; canWriteProject lo reconoce ademas del comportamiento previo (admin/superadmin/it_manager global, o project_lead miembro). UI: casilla al agregar miembro + boton de escudo para promover/degradar (nunca toca al Dueño). - Menu "Configuracion" (apariencia, catalogos, SMTP) visible y accesible solo para el superadmin: oculto en el nav y con guarda en la ruta /configuracion para quien la teclee directo. Escritura de catalogos restringida de [superadmin, admin] a solo superadmin para que el backend sea consistente con la UI. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,24 @@
|
||||
# Changelog - project.linkedcorp.net
|
||||
|
||||
## [1.6.0] - 2026-09-09
|
||||
### Added
|
||||
- Un proyecto puede tener **uno o más administradores del proyecto** (`role_in_project = 'admin'`
|
||||
en `project_members`), sin importar el rol global del usuario — un `collaborator` puede ser
|
||||
administrador de un proyecto puntual. Se otorga/quita desde Miembros: casilla "Agregar como
|
||||
administrador del proyecto" al agregar, y un botón de escudo para promover/degradar a un
|
||||
miembro existente (protegido: nunca toca al `Dueño`). Nuevo `PUT
|
||||
/api/projects/:id/members/:userId/role`. `canWriteProject` ahora reconoce este rol por-proyecto
|
||||
además del comportamiento previo (admin/superadmin/it_manager global, o project_lead miembro).
|
||||
### Changed
|
||||
- El menú "Configuración" (apariencia, catálogos, SMTP) ahora es **visible y accesible solo para
|
||||
el superadmin** — antes cualquier usuario logueado lo veía y podía entrar (el tema/idioma
|
||||
personal sigue disponible para todos desde los íconos de la barra superior, eso no cambió). Se
|
||||
guarda tanto en el menú lateral como en la ruta directa `/configuracion`.
|
||||
- Escritura de catálogos (`/api/catalogs/*`, usado por la pantalla de Configuración) restringida
|
||||
de `[superadmin, admin]` a solo `superadmin`, para que el backend sea consistente con que
|
||||
`admin` ya no ve ni puede entrar a esa pantalla — la lectura sigue abierta a cualquier usuario
|
||||
(los combos de prioridad/estado en el resto de la app la necesitan).
|
||||
|
||||
## [1.5.0] - 2026-09-09
|
||||
### Added
|
||||
- Eliminar proyecto: eliminación **lógica** (`deleted_at`/`deleted_by`) disponible para quien puede
|
||||
|
||||
Reference in New Issue
Block a user