Cómo editar vacaciones
Actualiza fechas o notas de una vacación existente de empleado o de un cierre total, sin cambiar empleado, tipo de evento ni resolver solicitudes pendientes.
En este artículo
Editar vacaciones permite ajustar un evento ya creado cuando cambian fechas o notas, manteniendo la trazabilidad dentro del calendario de la ubicación.
La acción cubre vacaciones de empleado y cierres totales por vacaciones. Las solicitudes pendientes se aceptan o rechazan desde su propio flujo; aquí solo se guardan cambios sobre eventos editables.
Antes de empezar
- Sesión iniciada en Grupo Marea Demo con la ubicación Marea Gran Via seleccionada.
- Permiso `vacation:view` para cargar el detalle y `vacation:manage` para abrir el formulario editable y guardar cambios.
- El evento existe en la ubicación actual y es de tipo `staff_vacation` o `location_vacation`.
- Si es una vacación de empleado, el evento conserva un `staff_id` válido.
- La solicitud no está pendiente si el objetivo es editar con Guardar.
Instrucciones
- 1.
Abrir la vacación
Entra desde el calendario de vacaciones o desde el listado de vacaciones. En el listado, usa la vista que incluye vacaciones aprobadas; las pendientes pertenecen al flujo de aceptar o rechazar.
- 2.
Revisar los datos actuales
El formulario carga el evento y muestra Comienzo, Fin y Notas. En vacaciones de empleado, Empleado y Estado quedan en lectura; en cierres totales no se muestra empleado y el control de cierre queda bloqueado.
- 3.
Modificar fechas o notas
Ajusta Comienzo, Fin o Notas. La edición se guarda como evento de día completo: inicio a 00:00 y fin a 23:59 en la zona horaria de Marea Gran Via.
- 4.
Guardar cambios
Pulsa Guardar. La app envía la actualización al evento de calendario, conserva el tipo y el estado operativo, refresca las vistas de calendario y vuelve a la pantalla de origen.
- 5.
Resolver errores
Si hay permisos insuficientes, fechas inválidas, conflicto con reservas, bloqueo de vacaciones o límite anual del empleado, la app muestra el error y mantiene el formulario abierto.
Validaciones y límites
- Solo se editan eventos `staff_vacation` o `location_vacation`.
- `vacation:request` no habilita esta actualización.
- Comienzo y Fin son obligatorios, y Comienzo debe ser anterior a Fin.
- Guardar permanece deshabilitado si no hay cambios respecto al evento cargado.
- La UI no permite cambiar el empleado ni alternar entre vacación de empleado y cierre total en edición.
- El backend rechaza un ID vacío, eventos de otra ubicación, cambios de `kind`, recurrencia y payloads no permitidos.
- Para `staff_vacation`, el payload solo admite `status`, `reason` y `proration_fictional`; para `location_vacation`, solo `reason` opcional.
- Un cierre total puede rechazarse si el rango tiene reservas activas.
Resultado esperado
La vacación queda actualizada como `calendar_event`; el calendario, el detalle del evento y los rangos cacheados se refrescan sin convertir la acción en aprobación, rechazo, cambio de empleado o cambio de tipo.