Fix: cita desde presupuesto marcaba Asignado en vez de Citado #2

Open
marsalva wants to merge 1 commits from fix/citado-desde-presupuesto into main
Owner

Problema

Cuando se acepta un presupuesto y se pone la cita directamente desde ese mismo presupuesto (botón "Dar Cita" en la App, presupuestos.html → endpoint POST /budgets/:id/convert), el servicio nuevo se crea con fecha y hora reales, pero el campo status_operativo se fija consultando el estado que contiene "asignado" en vez de "citado":

const statusQ = await pool.query("SELECT id FROM service_statuses WHERE owner_id=$1 AND name ILIKE '%asignado%' LIMIT 1", [req.user.accountId]);

Por eso el servicio aparece como "Asignado" en Servicios aunque realmente tiene una cita concreta (ej. Francisco Perea #PRE-130, cita real 08/10/2026 10:00 pero mostrado como Asignado).

Este bloque es distinto del que usa la misma búsqueda '%asignado%' en la ruta de aceptar avisos por WhatsApp (assignment_pings), que sí es correcto y no se ha tocado.

Cambio

Se cambia '%asignado%' por '%citado%' solo en el bloque de app.post("/budgets/:id/convert"), para que cuando la cita se agenda con fecha y hora desde el presupuesto, el estado que se aplica sea el que contiene "citado" (igual que hace el "Auto-Citado Mágico" de servicios.html en su propio flujo).

Nota

No toca la posible tarjeta duplicada de Francisco Perea (Asignado + Pendiente de Asignar) que se ve en las capturas — eso parece un problema distinto, no relacionado con este fix.

## Problema Cuando se acepta un presupuesto y se pone la cita directamente desde ese mismo presupuesto (botón "Dar Cita" en la App, presupuestos.html → endpoint POST /budgets/:id/convert), el servicio nuevo se crea con fecha y hora reales, pero el campo status_operativo se fija consultando el estado que contiene "asignado" en vez de "citado": const statusQ = await pool.query("SELECT id FROM service_statuses WHERE owner_id=$1 AND name ILIKE '%asignado%' LIMIT 1", [req.user.accountId]); Por eso el servicio aparece como "Asignado" en Servicios aunque realmente tiene una cita concreta (ej. Francisco Perea #PRE-130, cita real 08/10/2026 10:00 pero mostrado como Asignado). Este bloque es distinto del que usa la misma búsqueda '%asignado%' en la ruta de aceptar avisos por WhatsApp (assignment_pings), que sí es correcto y no se ha tocado. ## Cambio Se cambia '%asignado%' por '%citado%' solo en el bloque de app.post("/budgets/:id/convert"), para que cuando la cita se agenda con fecha y hora desde el presupuesto, el estado que se aplica sea el que contiene "citado" (igual que hace el "Auto-Citado Mágico" de servicios.html en su propio flujo). ## Nota No toca la posible tarjeta duplicada de Francisco Perea (Asignado + Pendiente de Asignar) que se ve en las capturas — eso parece un problema distinto, no relacionado con este fix.
marsalva added 1 commit 2026-09-29 21:25:39 +00:00
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/citado-desde-presupuesto:fix/citado-desde-presupuesto
git checkout fix/citado-desde-presupuesto
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marsalva/api#2