Cómo aprobar una solicitud de vacaciones
Revisa una solicitud pendiente en Marea Gran Via, confirma la aprobación y comprueba que queda como `accepted` sin crear una nueva ausencia ni cambiar empleado, fechas o notas desde la fila.
En este artículo
La aprobación de vacaciones se resuelve desde el listado de solicitudes pendientes. El responsable revisa la fila, abre el modal de confirmación y aplica la decisión sobre el evento de vacaciones ya existente.
Antylogic muestra el resultado como Aprobada, pero el estado que escribe la app es `accepted` en `payload.status`. Después de confirmar, la solicitud deja de aparecer en la cola de pendientes.
Antes de empezar
- Sesión iniciada con Grupo Marea Demo y la ubicación Marea Gran Via seleccionadas.
- Permiso `vacation:manage` sobre la ubicación. `vacation:view` permite consultar la cola, pero no aprobar solicitudes.
- Una solicitud `staff_vacation` en estado Pendiente dentro del rango visible del listado.
- Para capturas del runtime ES, crear antes una solicitud pendiente si el entorno de documentación no la trae sembrada.
Instrucciones
- 1.
Abrir la cola de pendientes
Entra en `calendars/vacations/requests?pending_only=true`. La pantalla carga solicitudes de vacaciones de personal y muestra como Pendiente los estados `requested` o `pending`.
- 2.
Revisar la fila correcta
Localiza la solicitud del empleado, por ejemplo Marta Ruiz, y comprueba estado, fechas y notas. La acción Aprobar solo aparece en filas pendientes cuando el usuario tiene `vacation:manage`.
- 3.
Confirmar la aprobación
Pulsa Aprobar y revisa el modal `Aprobar solicitud de vacaciones`. Si cancelas, no se guarda ningún cambio; si confirmas, la app cambia el estado de la solicitud a `accepted`.
- 4.
Comprobar el resultado
Tras el mensaje `Solicitud actualizada correctamente`, la lista se refresca. Con `pending_only=true` la fila desaparece; en el listado completo se muestra como Aprobada.
- 5.
Usar el detalle si ya está abierto
Como alternativa, abre `calendars/edit/:eventId?kind=staff_vacation&returnRoute=LocationVacationsRequests`. Si la solicitud sigue en estado `requested`, el formulario muestra Aceptar en el pie.
Validaciones y límites
- Si falta organización o ubicación seleccionada, la pantalla no carga la cola y muestra que no encuentra la ubicación solicitada.
- `vacation:manage` es obligatorio para aprobar; `vacation:request` solo cubre autosolicitudes y no autoriza esta acción.
- La UI limita Aprobar a solicitudes pendientes. Las ya aprobadas o rechazadas no muestran esa acción en la fila.
- La aprobación actualiza un `calendar_event` existente de tipo `staff_vacation`; no crea un nuevo registro de vacaciones.
- La acción de fila conserva empleado, fechas, título, zona horaria y notas; solo cambia el estado del payload.
- El backend valida que el evento pertenezca a la ubicación, que no cambie de tipo, que las fechas sean válidas, que exista empleado y que el payload de vacaciones sea válido.
- La actualización no puede saltar bloqueos de vacaciones desde la fila y vuelve a comprobar el límite anual del empleado.
- Si la API falla por permisos, validación, bloqueo o límite anual, la solicitud no queda aprobada y la interfaz muestra el error correspondiente.
Resultado esperado
La solicitud queda guardada como `accepted`, se notifica la decisión al empleado cuando procede y la cola de pendientes deja de mostrar esa fila.