Editar una operación
El formulario de edición vive en /operations/{id}/edit. Es estructuralmente el mismo formulario que la
página de creación, pre-rellenado desde el documento missions/{id} existente
y guardado mediante updateMission() (un parche merge, no un reemplazo).
El acceso está protegido por el operationOwnerGuard. Necesitas el permiso operations.edit
y propiedad del documento — admins de la org, el creador, o editores explícitamente concedidos.
Abrir el editor
- Desde la lista de operaciones, abre el menú kebab de la fila → Editar.
- Desde la cabecera del detalle de operación, haz clic en el botón EDIT
(requiere
operations.edit). - URL directa:
/operations/{id}/edit.
Qué carga el editor
Al abrirse, el formulario se suscribe a missions/{id} y parchea:
- Todos los campos de identidad, clasificación, programación y C2.
- Objetivos, ROE y Plan de comms en sus arrays dinámicos del formulario.
- Configuración CAS en el panel incrustado.
- Equipos seleccionados y operativos individuales, reconstruidos desde
assetIds[]menos cualquier UID que pertenezca a un equipo actualmente seleccionado. - Región del mapa en el Google Map vía
fitBounds.
Qué puedes editar
Prácticamente todos los campos que existen en MissionData son editables desde este formulario:
- Nombre, nombre en clave, descripción.
- Tipo de misión, clasificación, prioridad, estado.
- Fechas de inicio y fin.
- Toggle de PTT semidúplex.
- UID del comandante, POI principal, notas de HQ/OPORD, etiquetas.
- Objetivos, ROE y Plan de comms (añadir, reordenar mediante eliminar-y-reañadir, eliminar).
- Configuración CAS (los seis umbrales numéricos más el interruptor maestro).
- Personal — añadir o quitar equipos y operativos individuales. Al guardar,
assetIds[]se recalcula como la unión deduplicada de operativos directos más miembros del equipo. - Límites del mapa de AO — desplaza o haz zoom en el mapa;
mission.regionse sobrescribe con el viewport actual.
Qué no es editable aquí
- Difuminado de privacidad — se establece en el momento de la creación; no hay panel de difuminado en el formulario de edición.
- Multimedia de la misión — el uploader del formulario de creación no se renderiza aquí. La media existente
se preserva sin tocar (
media: m?.media ?? []). Añade o elimina media desde el panel Multimedia de la misión de la página de detalle. - Propiedad de la organización —
orgId/orgIdsse dejan tal cual; no hay selector de org en el formulario de edición.
Guardar
Guardar valida, llama a updateMission(id, patch) y enruta a
/operations/{id}. No se escribe nada hasta que lo pulses — cerrar la pestaña descarta
los cambios locales.
Promover a través de estados
Moverse de planning → ready → active → completed se hace cambiando el
desplegable Estado y guardando. No hay un botón separado “Iniciar operación” aquí —
ese vive en la página de detalle de operación. En la práctica, los comandantes
tienden a promover a ready/active desde la página de detalle y usan este formulario para
ajustes.
Eliminar
La eliminación no está expuesta en el formulario de edición. Usa el menú kebab de fila en la
lista de operaciones → Eliminar. Hoy es un deleteDoc definitivo (sin
eliminación lógica ni restauración).