Antylogic
Probar demoAcceso app

399 guías operativas

Secciones de Docs
DocsAccesos y roles
Dispositivo

Asignar permisos a rol

Sustituye el conjunto completo de permisos de un rol editable. El operador abre el detalle del rol, cambia los checkboxes y guarda; los usuarios que ya tienen ese rol conservan la asignación, pero pasan a operar con los permisos seleccionados.

En este artículo

La selección de permisos de un rol es una edición de conjunto completo: lo que queda marcado en la tabla será lo que el rol tenga después de guardar. No funciona como una suma incremental ni como una retirada aislada de permisos.

Usa este flujo en Grupo Marea Demo para roles de organización o en Marea Gran Via para roles propios de la ubicación. La acción no crea permisos nuevos ni asigna roles a usuarios.

Antes de empezar

  • Sesión iniciada con Grupo Marea Demo como organización activa.
  • Para roles de ubicación, Marea Gran Via debe estar activa.
  • Tener permissions:view para abrir el detalle; para guardar cambios hace falta permissions:manage en el contexto correspondiente.
  • Trabajar con un rol propio del contexto actual, no con roles system, globales o heredados.
  • El catálogo de permisos y los permisos actuales del rol deben cargarse, y debe quedar al menos un permiso seleccionado.

Instrucciones

  1. 1.

    Abre Roles de usuario

    Entra en organization/access?tab=roles para roles de organización o en location/access?tab=roles para roles de Marea Gran Via. Desde la fila del rol, abre Ver o Editar.

  2. 2.

    Abre el detalle editable

    El detalle muestra nombre, descripción, ámbito y permisos. En edición, el ámbito no se cambia desde esta pantalla; se usa para filtrar qué permisos son compatibles con el rol.

  3. 3.

    Revisa los permisos actuales

    La tabla arranca con los permisos ya asociados al rol y el catálogo compatible con su ámbito. Usa el buscador para localizar permisos por código o descripción y la paginación cuando haya más de 8 filas.

  4. 4.

    Cambia la selección completa

    Marca o desmarca permisos con la fila o con el checkbox. Los permisos marcados forman el nuevo conjunto completo del rol; códigos visibles como brand:manage o brand:view solo ayudan a identificar las filas.

  5. 5.

    Guarda el cambio

    Pulsa Guardar cuando la selección represente el resultado deseado. Si solo han cambiado permisos, la app reemplaza permisos; si también cambian nombre o descripción, guarda primero los datos del rol y después los permisos.

  6. 6.

    Confirma el impacto

    Al volver al listado y ver Rol actualizado, el rol conserva sus asignaciones de usuarios, pero su relación role_permissions ya apunta al nuevo conjunto de permisos.

Validaciones y límites

  • Guardar solo se habilita si hay cambios, el nombre del rol no está vacío y queda al menos un permiso seleccionado.
  • En organización solo se editan roles propios de la organización; en ubicación solo roles cuyo location_id coincide con Marea Gran Via.
  • Con permissions:view sin permissions:manage, el detalle puede abrirse en solo lectura y no muestra Guardar.
  • El backend elimina duplicados, ignora valores vacíos y reemplaza la relación completa dentro de una transacción.
  • La UI estándar no permite guardar cero permisos, aunque una llamada directa al backend podría limpiar role_permissions.
  • El payload usa UUIDs de permissions.id en permission_ids, no códigos como permissions:manage.
  • La compatibilidad por ámbito se filtra en la UI y se valida en base de datos antes de insertar role_permissions.

Resultado esperado

El rol queda asociado exactamente al conjunto de permisos seleccionado, y todos los usuarios que ya tenían ese rol pasan a operar con esos permisos efectivos sin cambiar sus asignaciones de rol.

Artículos relacionados