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 TiempoRequiere permiso create timesheets
Enviar Hoja de TiempoSolo para hojas en borrador
Aprobar / RechazarNoRequiere permiso approve timesheets (solo administrador)
EditarSolo hojas propias en borrador
EliminarSolo 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 PermisoSolo para solicitudes propias pendientes o aprobadas
Aprobar / RechazarNoRequiere permiso approve leave requests
EditarSolo solicitudes propias pendientes
EliminarSolo 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 AsistenciaRequiere permiso create attendance
EditarSolo registros propios
EliminarSolo 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 ReciboAbre el recibo en el navegador
Descargar ReciboDescarga 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.