Veo "no tenés permisos" en un módulo
Síntoma
El usuario puede entrar al panel, pero al ir a un módulo específico (por ejemplo Contabilidad, o Gestión de Usuarios) no lo ve en el menú, o el sistema le indica que no tiene permiso.
Causa
PANDA valida permisos en tres capas independientes, y las tres tienen que estar de acuerdo para que un módulo funcione:
- Rol del usuario (tabla
roles_admin/usuarios_admin): definido en Administración → Gestión de Usuarios → Roles y Permisos. Ver la matriz completa en Usuarios y roles. - Worker de Cloudflare (
_worker.js): para un subconjunto de páginas especialmente sensibles (hoy, segúnwrangler.jsonc:dashboard-financiero.htmlyestado-resultados.html, más los JSON deportal_data.json/socios_data.json), el Worker vuelve a chequear permisos del lado del servidor antes de servir la página, mediante la RPCmis_permisos(), independientemente de lo que el frontend muestre. - RLS en Supabase: incluso si el frontend muestra un botón, la base de datos puede rechazar la operación si las políticas de Row Level Security no la permiten para ese usuario.
Cómo diagnosticar
- Revisar el rol de la persona y si tiene alguna excepción puntual cargada (columna “Excepciones” en Gestión de Usuarios → Usuarios).
- Revisar en la matriz de Roles y Permisos si ese rol tiene el permiso del módulo en cuestión activado.
- Si el permiso está bien en la matriz pero el problema persiste, puede ser un caso de las capas 2 o 3 (Worker/RLS) — esto requiere revisión de código, no solo de la pantalla de administración.
Importante
Cambiar un permiso en la matriz de roles impacta de inmediato a todos los usuarios de ese rol, salvo que tengan una excepción puntual — no es necesario (ni recomendable) crear un rol nuevo solo para un caso puntual.