Gestión de Ausencias en taclia
Hemos incluido nuevas lógicas que determinarán qué acciones puede realizar un usuario sobre una ausencia según su rol, el estado de la ausencia y la fecha. Además, se introducen restricciones para evitar la superposición de ausencias y el exceso de solicitudes de vacaciones.
Las acciones que un usuario puede realizar en una ausencia (modificar, eliminar, aprobar o rechazar) dependerán de tres factores:
El rol del usuario: Se distingue entre User (usuario estándar), Admin (administrador) y User con permisos específicos.
El estado de la ausencia: Puede ser Pendiente, Aprobada o Rechazada.
La fecha de la ausencia: Ya sea una fecha futura, actual o pasada.
Acciones permitidas por rol y estado:
Estado de la Ausencia | Fecha de la Ausencia | User (Modificar/Eliminar) | Admin (Modificar/Eliminar/Aprobar/Rechazar) | User con Permisos (Modificar/Eliminar) |
Pendiente (Futura) | Futura | Sí / Sí | Sí / Sí / Sí / Sí | Sí / Sí |
Pendiente (Fecha pasada) | Actual o Pasada | No / No | Sí / Sí / Sí / Sí | No / No |
Aprobada (Futura) | Futura | No / No | Sí / Sí | No / No |
Aprobada (Fecha pasada) | Actual o Pasada | No / No | Sí / Sí | No / No |
Rechazada | Cualquier fecha | No / No | Sí / Sí | No / No |
💡 Recuerda: Solo los administradores pueden aprobar o rechazar ausencias. Los usuarios con permisos específicos pueden gestionar ausencias según las reglas aplicables.
2. Impedir ausencias solapadas
Para evitar la superposición de ausencias en la misma fecha, se introducirá la siguiente lógica:
Ausencias pendientes o aprobadas: No se podrá crear ni editar una nueva ausencia que coincida en fecha con otra ausencia pendiente o aprobada.
Ausencias rechazadas: Se permitirá crear o editar una ausencia que coincida en fecha con una ausencia rechazada.
Ausencias de medio día: Si existe una ausencia de medio día sin especificar en qué mitad del día se solicita, no se permitirá crear otra ausencia para ese día.
3. Restricción de ausencias tipo ‘Vacaciones’
Los usuarios no podrán solicitar más días de vacaciones de los que tienen configurados en su perfil, salvo en los siguientes casos:
Campo de vacaciones anuales no configurado: Si no se ha configurado el número de vacaciones anuales en el perfil del usuario, no habrá límite en la cantidad de ausencias de tipo ‘vacaciones’ que este pueda solicitar.
Límite de vacaciones alcanzado: Si un usuario alcanza su límite de días de vacaciones, se mostrará un mensaje indicando que no puede solicitar más días de este tipo.
Ejemplo de mensaje de límite alcanzado:
Resumen de los cambios
Gestión de Ausencias según rol: Limitación de acciones según el estado, rol y fecha.
Prevención de ausencias solapadas: No se permitirán ausencias que coincidan en fecha con otras ya existentes.
Restricciones en el número de vacaciones: Se respetará el límite anual configurado en el perfil del usuario.