Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/amarcano568/pensionalamedida/llms.txt

Use this file to discover all available pages before exploring further.

El MantenimientoRolesController gestiona el sistema de control de acceso basado en roles (RBAC) de Pensión a la Medida, construido sobre el paquete Spatie Laravel Permission. Permite crear nuevos roles, consultar sus permisos asignados y disponibles, y asignar o revocar permisos individuales de forma dinámica mediante drag-and-drop en la interfaz. La vista principal está protegida por el permiso gestion_roles; las rutas de modificación de permisos son accesibles a cualquier usuario autenticado.

gestionRoles

GET /gestion-roles Renderiza la vista principal de gestión de roles (roles.gestion), cargando todos los roles registrados en el sistema para mostrarlos en la interfaz de administración.
Este endpoint devuelve una vista HTML, no JSON. Requiere el permiso gestion_roles (middleware Spatie).

changeRole

GET /change-role Carga los datos completos de un rol específico, incluyendo la lista de permisos ya asignados y los permisos aún disponibles (no asignados). Los permisos se devuelven como fragmentos HTML de elementos <li> listos para ser insertados en las listas drag-and-drop de la vista.
idRole
integer
required
ID del rol de Spatie a consultar (roles.id).
success
boolean
true cuando los datos del rol fueron obtenidos exitosamente.
mensaje
string
Mensaje descriptivo del resultado ("Datos del role obtenido exitosamente").
data
object
Objeto con los datos del rol: id, name, guard_name, created_at, updated_at y roleFormatDate (fecha de creación formateada como dd-mm-YYYY hh:ii:ss).
asignados
string
Fragmento HTML con los elementos <li class="permisoAsignado"> de los permisos actualmente asignados al rol, incluyendo icono y nombre legible de cada permiso. Si no hay permisos asignados, devuelve un <li> vacío deshabilitado.
disponibles
string
Fragmento HTML con los elementos <li class="permisoDisponible"> de los permisos aún no asignados al rol. Si todos los permisos están asignados, devuelve un <li> vacío deshabilitado.

revocarPermiso

GET /revocar-permiso Revoca un permiso específico de un rol usando el método revokePermissionTo de Spatie. Verifica primero que el rol tenga el permiso antes de intentar revocarlo.
rol
integer
required
ID del rol al que se le va a revocar el permiso (roles.id).
permiso
string
required
Nombre técnico (slug) del permiso a revocar (p. ej. "gestion_alumnos", "gestion_residencia").
success
boolean
true si el permiso fue revocado correctamente; false si el rol no tenía ese permiso o hubo un problema.
mensaje
string
Mensaje descriptivo indicando el permiso y el resultado de la operación. Puede contener HTML (<strong>).
data
string
Cadena vacía en ambos casos de respuesta.

darPermisoA

GET /dar-permiso-a Asigna un permiso específico a un rol usando el método givePermissionTo de Spatie.
rol
integer
required
ID del rol al que se le va a asignar el permiso (roles.id).
permiso
string
required
Nombre técnico (slug) del permiso a asignar (p. ej. "gestion_grupos_familiares", "gestion_roles").
success
boolean
true si el permiso fue asignado al rol satisfactoriamente; false si hubo un problema durante la asignación.
mensaje
string
Mensaje descriptivo indicando el permiso afectado y el resultado. Puede contener HTML (<strong>).
data
string
Cadena vacía en ambos casos de respuesta.

nuevoRole

POST /nuevo-role Crea un nuevo rol en el sistema usando Role::create de Spatie dentro de una transacción de base de datos. Si la creación es exitosa, devuelve el listado actualizado de todos los roles para refrescar la interfaz.
newRole
string
required
Nombre del nuevo rol a crear (p. ej. "Coordinador", "Tutor"). Debe ser único en la tabla roles.
success
boolean
true si el rol fue creado satisfactoriamente; false si hubo un problema durante la creación.
mensaje
string
Mensaje descriptivo con el nombre del rol y el resultado de la operación. Puede contener HTML (<strong>).
data
array
En caso de éxito, array con todos los roles existentes en el sistema (resultado de Roles::get()). En caso de fallo, cadena vacía.
La operación está envuelta en DB::beginTransaction() / DB::rollback(). Si se lanza una excepción no controlada, la transacción se revierte y se devuelve un error interno mediante internalException.

Build docs developers (and LLMs) love