22 Módulo Mis Turnos Portal para Empleados en Laravel Turnos Asignados en Fullcalendar y Exportacion
Duración: 15 minDescripción
📋 Lección 22: Módulo Mis Turnos Portal para Empleados en Laravel Turnos Asignados en Fullcalendar y Exportación 📅👤
En este capítulo se construye el portal específico para que los empleados puedan consultar sus turnos asignados de forma interactiva usando FullCalendar, exportar sus reportes individuales y se analiza un problema crítico de integridad referencial al eliminar registros en cascada.
🔑 Conceptos Clave y Puntos Destacados
1. 🗓️ Portal "Mis Turnos" con FullCalendar ([00:00:16])
- Nuevas Rutas y Controlador: Se integraron dos rutas dedicadas (/mis-turnos y /mis-turnos/reporte) gestionadas por un nuevo controlador que consulta los turnos específicos asociados al usuario logueado.
- Visualización Dinámica: Cada empleado puede ver de forma visual en un calendario interactivo (FullCalendar) sus turnos diarios, días de descanso y las sucursales asignadas ([00:03:02]).
- Mensaje de Validación: Si un usuario con un rol diferente (como superadmin) entra a esta vista, se le muestra un mensaje indicando que el portal es exclusivo para el personal con rol de empleado ([00:04:22]).
2. 📄 Exportación de Reportes de Turnos ([00:01:29])
- Los empleados pueden generar y descargar en formato PDF un reporte completo de los turnos asignados durante el mes en curso o periodos pasados para su control personal ([00:04:14]).
3. 👥 Creación de Roles Personalizados (Ej. Rol Coordinador) ([00:06:16])
- Se demuestra la flexibilidad del sistema de permisos creando el rol Coordinador y asignándole únicamente la gestión del módulo de Ausencias (vacaciones, licencias y bajas médicas) ([00:08:03]).
- Al entrar con la cuenta del coordinador, el dashboard y el menú lateral se adaptan automáticamente para mostrar solo los datos de ausencias por aprobar o rechazar.
4. ⚠️ Problema Crítico Identificado: Eliminación en Cascada y Pérdida de Historial ([00:09:37])
- El Problema: Al eliminar un registro de un empleado ([00:10:22]) o de una sucursal ([00:12:15]), las reglas de la base de datos provocan una eliminación en cascada en la tabla pivote de cronogramas. Esto causó la pérdida involuntaria de más de 3,000 registros históricos de turnos ([00:12:37]).
- Solución Anunciada: En la siguiente lección se reemplazarán las eliminaciones directas por validaciones en el controlador que impidan borrar registros asociados a llaves foráneas en el cronograma ([00:14:09]).