Navegación del Portal y Página de Inicio
Cuando un empleado inicia sesión, la interfaz de Concord CRM se adapta automáticamente a su rol. La navegación de la barra lateral se reemplaza con un menú simplificado, y el panel predeterminado se redirige a la página de inicio del empleado.
Menú de Navegación
La barra lateral estándar de Concord CRM (con Contactos, Negocios, etc.) se reemplaza completamente para usuarios empleados. En su lugar, los empleados ven un menú plano con solo las páginas relevantes para sus tareas de autoservicio:
| Posición | Elemento de Menú | Ruta | Icono |
|---|---|---|---|
| 1 | Hojas de Tiempo | /timesheets | Reloj |
| 2 | Solicitudes de Permiso | /leave-requests | Calendario |
| 3 | Asistencia | /attendance | Portapapeles |
| 4 | Saldos de Permisos | /leave-balances | Balanza |
| 5 | Recibos de Nómina | /payslips | Documento |
Nota: El menú es plano — sin grupos ni desplegables. Esto mantiene la navegación simple y enfocada.
Cómo Funciona el Filtrado de Menú
En cada solicitud, un middleware verifica si el usuario conectado tiene el rol Employee. Si es así, limpia el menú estándar del CRM y registra solo los elementos de menú permitidos definidos en la configuración. Esto sucede tanto en solicitudes web como API para asegurar consistencia.
Redirección de Página de Inicio
Por defecto, Concord CRM muestra un panel en / o /dashboard. Para usuarios empleados, esto se redirige a la página de inicio configurada.
Página de inicio predeterminada: /timesheets
Cuando un empleado navega a / o /dashboard, se redirige automáticamente a la página de Hojas de Tiempo. Esta redirección es manejada por un guardián de ruta frontend que se ejecuta antes de cada navegación.
Configurar la Página de Inicio
Para cambiar la página de inicio predeterminada, edite el archivo de configuración:
// modules/HRM/config/employee-portal.php
'landing_page' => env('EMPLOYEE_LANDING_PAGE', '/timesheets'),
O establezca la variable de entorno:
EMPLOYEE_LANDING_PAGE=/leave-requests
La página de inicio debe ser uno de los elementos de menú permitidos. Establecerla a una ruta que no esté en allowed_menu_items resultará en un error 403.
Protección de Rutas
El portal aplica control de acceso a nivel de ruta en el frontend. Si un empleado intenta acceder a una página fuera de sus rutas permitidas (ej., escribiendo una URL directamente en el navegador), se redirige a una página 403 (Prohibido).
Rutas Permitidas
Las rutas se comparan por prefijo. Por ejemplo, permitir /timesheets también permite:
- /timesheets (vista de lista)
- /timesheets/123 (vista de detalle)
- /timesheets/create (formulario de creación)
Rutas Siempre Accesibles
Independientemente de los elementos de menú permitidos, los empleados siempre pueden acceder a:
- /403 — Página de error Prohibido
- /404 — Página de error No encontrado
- /notifications — Notificaciones del sistema
Agregar Elementos de Menú de Otros Módulos
Si tiene otros módulos de Concord CRM instalados y desea que los empleados accedan a páginas específicas, agregue las rutas a la configuración:
// modules/HRM/config/employee-portal.php
'allowed_menu_items' => [
'/timesheets',
'/leave-requests',
'/attendance',
'/leave-balances',
'/payslips',
// Agregar elementos de otros módulos:
// '/documents',
// '/announcements',
],
El filtro de menú creará automáticamente entradas de navegación para rutas HRM reconocidas. Para rutas de otros módulos, el registro de menú del módulo original se preservará si coincide con una ruta permitida.
Acceso a Configuración
Por defecto, los empleados no tienen acceso a ninguna página de configuración. La configuración allowed_settings_items está vacía:
'allowed_settings_items' => [
// '/settings/profile',
// '/settings/password',
],
Si desea que los empleados accedan a configuraciones específicas (como su perfil o página de cambio de contraseña), descomente o agregue las rutas relevantes.