Cómo listar solicitudes de vacaciones
Revisa las solicitudes de vacaciones de una ubicación en una tabla filtrable por rango, empleado y estado pendiente, sin confundir el filtro local `pending_only` con un filtro del backend.
En este artículo
La pantalla `Listado de vacaciones` permite a un responsable consultar las solicitudes registradas como eventos de calendario `staff_vacation` dentro de una ubicación.
Está pensada para revisar la cola de pendientes y, cuando haga falta, abrir el listado completo del rango para ver vacaciones pendientes, aprobadas y rechazadas.
Antes de empezar
- Iniciar sesión con una organización y una ubicación activas.
- Trabajar en `Marea Gran Via` de `Grupo Marea Demo` para reproducir los ejemplos del runtime ES.
- Tener `vacation:view` o un rol de gestión que también incluya lectura de vacaciones en la ubicación.
- Para ver nombres y selector de empleados correctamente, el usuario operativo debe poder consultar el personal de la ubicación.
- Debe haber eventos `calendar_events.kind = staff_vacation` en el rango consultado; el demo ES incluye solicitudes de 2026.
Instrucciones
- 1.
Abre la cola de solicitudes
Desde la tarea `Solicitudes de vacaciones` de la pantalla de inicio o desde `calendars/vacations/requests?pending_only=true`, entra en el listado. Al llegar desde la cola de gestión, la pantalla muestra solo solicitudes pendientes por defecto.
- 2.
Revisa la tabla
Lee las columnas de empleado, estado, fechas y notas. Cada fila representa una solicitud o periodo de vacaciones del personal en el rango cargado.
- 3.
Ajusta el rango de fechas
Usa los controles de fecha para consultar otro periodo. Si la ruta no trae `from` y `to`, la interfaz usa el año natural actual del cliente; para el demo, usa un rango de 2026.
- 4.
Filtra por empleado
Selecciona una persona del equipo para ver solo sus solicitudes dentro de las filas ya cargadas. En `Marea Gran Via`, el demo incluye Marta Ruiz, Lucia Navarro, Diego Serrano y Alba Castro.
- 5.
Alterna pendientes y todos los estados
Activa o desactiva `Mostrar solo solicitudes pendientes`. Con el filtro activo ves la cola operativa; al desactivarlo, la tabla puede mostrar estados `Pendiente`, `Aprobada` y `Rechazada`.
- 6.
Vuelve al origen
Si abriste el listado desde el calendario de vacaciones, el retorno conserva el contexto del calendario. Si llegaste desde inicio, la vuelta regresa a la pantalla de la ubicación.
Validaciones y límites
- Sin ubicación seleccionada, la pantalla muestra `No encontramos la ubicación solicitada.`
- Sin permisos suficientes de vacaciones, la pantalla muestra `No tienes permisos para ver este calendario.`
- La consulta técnica de calendario necesita `from` y `to`; la interfaz los genera cuando faltan en la ruta.
- Las fechas de ruta deben ser `YYYY-MM-DD`; valores vacíos o inválidos vuelven al rango anual por defecto.
- `pending_only` se aplica localmente en la pantalla y no forma parte de `CalendarEventsFilter`.
- El filtro de empleado también se aplica en cliente, comparando las filas cargadas con `event.staff_id`.
- `requested` y `pending` se muestran como `Pendiente`; `accepted` y `approved` como `Aprobada`; `rejected` como `Rechazada`.
- Si el filtro de pendientes está activo y no hay filas, el vacío esperado es `No hay solicitudes pendientes.`; si está inactivo, `No hay solicitudes de vacaciones.`
Resultado esperado
El responsable obtiene una vista clara de las vacaciones del rango seleccionado, puede centrarse en las solicitudes pendientes y puede abrir el histórico completo sin ejecutar acciones de aprobación, rechazo, edición o borrado.