Saltar al contenido principal

Qué Pueden Ver y Hacer los Empleados

El Portal del Empleado ajusta qué datos, campos y acciones son visibles según el rol del usuario. Esta página detalla exactamente qué ven los empleados en cada página y qué acciones tienen disponibles.


Hojas de Tiempo​

Los empleados pueden crear, editar y enviar sus propias hojas de tiempo semanales.

Acciones Disponibles​

AcciónDisponibleCondición
Registrar TiempoSíRequiere permiso create timesheets
Enviar Hoja de TiempoSíSolo para hojas en borrador
Aprobar / RechazarNoRequiere permiso approve timesheets (solo administrador)
EditarSíSolo hojas propias en borrador
EliminarSíSolo registros propios, con permiso de eliminación

Flujo para Empleados​

  1. Crear una hoja de tiempo para un período semanal.
  2. Registrar entradas de tiempo contra proyectos.
  3. Enviar la hoja para aprobación.
  4. Seguir el estado (Enviada -> Aprobada o Rechazada).
  5. Si es rechazada, revisar el motivo, hacer cambios y reenviar.

Solicitudes de Permiso​

Los empleados pueden enviar, rastrear y cancelar sus propias solicitudes de permiso.

Acciones Disponibles​

AcciónDisponibleCondición
Cancelar PermisoSíSolo para solicitudes propias pendientes o aprobadas
Aprobar / RechazarNoRequiere permiso approve leave requests
EditarSíSolo solicitudes propias pendientes
EliminarSíSolo registros propios, con permiso de eliminación

Validación​

  • Detección de superposición: El sistema previene enviar solicitudes que se superpongan con solicitudes aprobadas o pendientes existentes.
  • Validación de días: El número de días debe coincidir con el rango de fechas (días completos o medios días).

Asistencia​

Los empleados pueden registrar su propia asistencia diaria.

Acciones Disponibles​

AcciónDisponibleCondición
Crear AsistenciaSíRequiere permiso create attendance
EditarSíSolo registros propios
EliminarSíSolo registros propios, con permiso de eliminación

Saldos de Permisos​

Los empleados pueden ver sus asignaciones y uso de permisos. Esta es una vista de solo lectura para empleados.

Acciones Disponibles​

AcciónDisponible
CrearNo — solo administradores pueden asignar saldos de permisos
EditarNo
EliminarNo

Recibos de Nómina​

Los empleados pueden ver y descargar sus propios recibos.

Acciones Disponibles​

AcciónDisponibleCondición
Ver ReciboSíAbre el recibo en el navegador
Descargar ReciboSíDescarga el recibo como PDF
Finalizar / EnviarNoAcciones solo de administrador

Resumen de Alcance de Datos​

Todos los datos se filtran automáticamente, para que los empleados solo vean sus propios registros:

RecursoMétodo de Alcance
Solicitudes de PermisoFiltrado por employee_id mediante alcance global
Saldos de PermisosFiltrado por employee_id mediante alcance global
AsistenciaFiltrado por employee_id mediante alcance global
Hojas de TiempoFiltrado por employee_id mediante alcance global
Recibos de NóminaFiltrado mediante payroll_entry.employee_id con alcance global
Estructuras SalarialesFiltrado por employee_id mediante alcance global
Entradas de NóminaFiltrado por employee_id mediante alcance global

Recursos no filtrados (visibles para todos):

  • Leave Types — los empleados necesitan ver todos los tipos de permiso al crear solicitudes
  • Employee — el modelo en sí no tiene alcance (el registro propio del empleado es accesible mediante política)

Configurar el Rol de Empleado​

El rol Employee es la piedra angular de la experiencia del portal. Determina qué usuarios obtienen la interfaz del portal, a qué datos pueden acceder y qué acciones pueden realizar. El rol se crea automáticamente cuando se activa el módulo HRM, con un conjunto predeterminado de permisos.


Permisos Predeterminados​

Cuando el módulo se habilita, el rol Employee se crea con los siguientes permisos:

Perfil del Empleado​

PermisoDescripción
view own employeesVer su propio registro de empleado
edit own employeesEditar su propio perfil (nombre, teléfono, dirección)

Solicitudes de Permiso​

PermisoDescripción
view own leave-requestsVer sus propias solicitudes de permiso
create leave-requestsEnviar nuevas solicitudes
edit own leave-requestsEditar solicitudes propias pendientes
cancel leave requestsCancelar solicitudes propias pendientes o aprobadas

Saldos de Permisos​

PermisoDescripción
view own leave-balancesVer sus propias asignaciones y uso de permisos

Hojas de Tiempo​

PermisoDescripción
view own timesheetsVer sus propias hojas de tiempo
create timesheetsCrear nuevas hojas de tiempo
edit own timesheetsEditar hojas propias en borrador
submit timesheetsEnviar borradores para aprobación

Asistencia​

PermisoDescripción
view own attendanceVer sus propios registros de asistencia
create attendanceRegistrar asistencia diaria
edit own attendanceEditar entradas propias de asistencia

Recibos de Nómina​

PermisoDescripción
view own payslipsVer y descargar sus propios recibos

Estructuras Salariales​

PermisoDescripción
view own employee-salary-structuresVer su propio desglose salarial

Permisos NO Otorgados a Empleados​

Los siguientes permisos están excluidos intencionalmente del rol Employee:

CategoríaPermisos Excluidos
Ver Todos / Equipoview all *, view team * — los empleados solo ven datos propios
Editar Todos / Equipoedit all *, edit team * — los empleados solo editan registros propios
EliminarTodos los permisos de eliminación y eliminación masiva
Crear (restringido)create employees, create leave-balances, create payslips, create payroll-*, create employee-salary-structures
Aprobar / Rechazarapprove leave requests, approve timesheets, approve payroll
Operaciones de Nóminaprocess payroll, finalize payslips, send payslips, generate payslips
ExportaciónTodos los permisos de exportación

Personalizar el Rol​

Agregar Permisos​

Para otorgar permisos adicionales a los empleados, navegue a Settings > Roles & Permissions, encuentre el rol Employee y active los permisos deseados.

Por ejemplo, para permitir que los empleados eliminen sus propias solicitudes:

  1. Vaya a Settings > Roles & Permissions.
  2. Edite el rol Employee.
  3. Habilite delete own leave-requests.
  4. Guarde.

Quitar Permisos​

De manera similar, puede restringir más a los empleados quitando permisos. Por ejemplo, para evitar que editen su propia asistencia:

  1. Edite el rol Employee.
  2. Deshabilite edit own attendance.
  3. Guarde.

Cambiar el Nombre del Rol​

El nombre del rol por defecto es "Employee" pero puede cambiarse mediante configuración:

// modules/HRM/config/employee-portal.php
'employee_role_name' => env('EMPLOYEE_ROLE_NAME', 'Employee'),

O mediante variable de entorno:

EMPLOYEE_ROLE_NAME=Staff
aviso

Si cambia el nombre del rol, la activación del módulo (o re-ejecutar el seeder) creará un rol con el nuevo nombre. Los usuarios existentes con el nombre de rol anterior necesitarán ser reasignados manualmente.


Re-Sincronizar Permisos​

Si necesita restablecer los permisos del rol Employee a sus valores predeterminados (ej., después de una actualización), puede re-ejecutar el seeder:

php artisan db:seed --class="Modules\HRM\Database\Seeders\EmployeeRoleSeeder"

Esto recreará el rol (si no existe) y lo sincronizará con el conjunto de permisos predeterminado. Cualquier modificación personalizada que haya hecho será sobrescrita.

Alternativamente, deshabilitar y re-habilitar el módulo HRM desde Settings > HRM Configuration > Activation también re-sincronizará los permisos del rol Employee.


Cómo los Permisos Interactúan con el Portal​

El Portal del Empleado usa un sistema de control de acceso por capas:

Capa 1: Filtrado de Menú
-- Oculta elementos de la barra lateral no en allowed_menu_items config

Capa 2: Protección de Rutas
-- Guardián frontend bloquea navegación a rutas no autorizadas

Capa 3: Alcance de Datos
-- Alcance global filtra consultas a registros propios del empleado

Capa 4: Visibilidad de Campos
-- Campos de recursos ocultos mediante verificaciones isEmployeeUser()

Capa 5: Permisos y Políticas
-- Permisos Spatie controlan acceso CRUD y de acciones

Capa 6: Bypass de Super Admin
-- Gate::before retorna true para super-admins, omitiendo todas las capas

Cada capa proporciona defensa en profundidad. Incluso si un empleado de alguna manera elude el filtrado de menú, el alcance de datos asegura que solo pueda ver sus propios registros, y el sistema de permisos previene acciones no autorizadas.