Skip to main content
El sistema de permisos se basa en spatie/laravel-permission integrado con el panel de administración Filament mediante bezhansalleh/filament-shield. Los permisos se generan automáticamente a partir de los recursos de Filament registrados.

Cómo funciona

Filament Shield genera un conjunto estándar de permisos por cada recurso Filament. El patrón de nombre es:
{accion}_{nombre_recurso}
Por ejemplo, para el recurso Cotizacione:
PermisoDescripción
view_any_cotizacioneListar todas las cotizaciones.
view_cotizacioneVer el detalle de una cotización.
create_cotizacioneCrear nuevas cotizaciones.
update_cotizacioneEditar cotizaciones existentes.
delete_cotizacioneEliminar una cotización.
delete_any_cotizacioneEliminación masiva de cotizaciones.
restore_cotizacioneRestaurar una cotización eliminada (soft delete).
restore_any_cotizacioneRestauración masiva.
force_delete_cotizacioneEliminación permanente.
force_delete_any_cotizacioneEliminación permanente masiva.

Rol Administrador

El rol Administrador tiene acceso total a todas las funcionalidades del sistema, incluyendo:
  • Gestión completa de cotizaciones (crear, editar, aprobar, eliminar).
  • Descarga de archivos Word generados a partir de cotizaciones.
  • Administración de catálogos (EPP, herramientas, equipos, consumibles).
  • Gestión de usuarios y asignación de roles.
  • Configuración de OrigenFactor y Turno.
  • Acceso a los registros de auditoría.

Policies registradas

Cada recurso sensible tiene una Policy de Laravel asociada que controla el acceso a nivel de modelo:
PolicyRecurso protegido
CotizacionePolicyCotizaciones
UserPolicyUsuarios
TurnoPolicyTurnos de trabajo
EppPolicyCatálogo de EPP
GerenciaPolicyGerencias
OrigenFactorPolicyFactores de origen económico
DatosHerramientaPolicyCatálogo de herramientas
DatosEquipoPolicyCatálogo de equipos
DatosConsumiblePolicyCatálogo de consumibles
DatosComunicacionePolicyCatálogo de comunicaciones
ExamenesVacunaPolicyExámenes y vacunas
PrecargadoConsumiblePolicyConsumibles precargados
PrecargadoEppPolicyEPP precargados
PrecargadoEquipoPolicyEquipos precargados
PrecargadoHerramientaPolicyHerramientas precargadas
RolePolicyRoles y permisos
AuditoriaCotizacionPolicyRegistros de auditoría de cotizaciones

Generar permisos

Cuando se registra un nuevo recurso Filament o se necesita regenerar los permisos existentes, ejecuta:
php artisan shield:generate --all
Para generar permisos de un recurso específico:
php artisan shield:generate --resource=Cotizacione
El comando shield:generate crea los permisos en la base de datos si no existen. No elimina permisos previamente asignados a roles.

Asignar roles a usuarios

Los roles se asignan desde el panel de administración:
1

Acceder al panel

Ingresar al panel de administración con una cuenta que tenga el rol Administrador.
2

Ir a gestión de usuarios

Navegar a Administración > Usuarios en el menú lateral.
3

Editar el usuario

Seleccionar el usuario y hacer clic en Editar.
4

Asignar rol

En el campo Roles, seleccionar el rol o roles que se desea asignar al usuario y guardar los cambios.

Crear un nuevo rol personalizado

1

Ir a gestión de roles

Navegar a Administración > Roles en el panel.
2

Crear rol

Hacer clic en Nuevo rol, asignar un nombre y seleccionar los permisos individuales que tendrá el rol.
3

Guardar y asignar

Guardar el rol y asignarlo a los usuarios correspondientes desde Administración > Usuarios.

Build docs developers (and LLMs) love