Cómo quitar un rol a un usuario
Quita una asignación de rol desde el detalle del usuario. La acción no elimina al usuario ni el rol del catálogo: desmarca el rol en `Roles del usuario` y guarda los cambios en el ámbito actual.
En este artículo
Este flujo sirve para retirar permisos efectivos en una organización o una ubicación sin borrar entidades. En `Grupo Marea Demo`, por ejemplo, puedes quitar un rol asignado en `Marea Gran Via` desde el detalle del usuario de esa ubicación.
La pantalla compara los roles seleccionados con los roles iniciales. Al guardar, Antylogic elimina solo las asignaciones quitadas de `user_roles` y conserva el resto del perfil.
Antes de empezar
- Sesión iniciada con la organización `Grupo Marea Demo` seleccionada.
- Para quitar un rol de ubicación, la ubicación `Marea Gran Via` debe estar seleccionada.
- El usuario destino debe existir y ser visible desde `organization/access?tab=users` o `location/access?tab=users`.
- El rol debe estar asignado al usuario en el mismo ámbito desde el que se abre el detalle.
- El operador debe tener `permissions:manage`; para entrar y ver la tabla también necesita permisos de vista o gestión sobre usuarios y roles.
- El rol a quitar no puede ser `owner` / `Propietario`.
Instrucciones
- 1.
Abre Usuarios en el ámbito correcto
Entra en la pestaña `Usuarios` de Acceso. Usa el listado de organización para roles de organización o el listado de `Marea Gran Via` para roles de ubicación.
- 2.
Entra al detalle del usuario
Abre la acción de ver o editar del usuario y revisa la tabla `Roles del usuario`. Confirma que el rol que quieres retirar aparece como asignado.
- 3.
Desmarca el rol
Desactiva el checkbox del rol que se va a quitar. Si aparece `Propietario`, debe quedar seleccionado y bloqueado: es un rol sintético y no forma parte de esta acción.
- 4.
Guarda los cambios
Pulsa `Guardar cambios`. Si hay más cambios de roles en la misma edición, la app guarda primero los roles quitados y después los añadidos; al terminar vuelve al listado y muestra confirmación.
Validaciones y límites
- Si falta organización, usuario o ubicación seleccionada en ámbito de ubicación, la pantalla muestra un estado de usuario no encontrado.
- Sin permiso para ver usuarios, el detalle muestra el estado de sin acceso.
- Solo `permissions:manage` habilita checkboxes y footer de guardado.
- El ámbito actual define la asignación que se puede retirar: organización no modifica roles de ubicación y ubicación no modifica roles de organización.
- `owner` / `Propietario` deriva de `organizations.owner_id`; no se persiste como una fila eliminable de `user_roles`.
- No hay botón independiente ni modal de confirmación para quitar un rol de usuario; la acción se hace desmarcando y guardando.
- Si no hay cambios, `Guardar cambios` queda deshabilitado o no realiza ninguna operación.
- Una eliminación correcta afecta solo a `user_roles`; no borra el usuario ni el rol del catálogo.
- Si el guardado falla, la app muestra un mensaje de error y no completa el retorno exitoso al listado.
- No conviene prometer protección contra quitar el último rol de un usuario o contra editarse a sí mismo, porque no aparece como regla implementada.
Resultado esperado
El rol queda retirado solo en el ámbito usado. La app vuelve al listado de usuarios, muestra confirmación y refresca los datos de usuario, roles y permisos efectivos.