From 5f7cc67dd9831a67c357876054d84964f224e25c Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Mon, 16 Mar 2026 20:29:21 -0500 Subject: [PATCH] up --- api/lab/save_formulario.php | 10 +++++++++- classes/lab/Formulario.php | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/api/lab/save_formulario.php b/api/lab/save_formulario.php index 1b0a5c6..079c390 100644 --- a/api/lab/save_formulario.php +++ b/api/lab/save_formulario.php @@ -26,7 +26,15 @@ try { if (!empty($datos['id'])) { $id = (int)$datos['id']; unset($datos['id']); - $form->actualizar($id, $datos, $admin); + // Verificar que el formulario existe + $existe = $form->obtener($id); + if (!$existe) { + jsonError("Formulario #$id no encontrado en la base de datos", 404); + } + $ok = $form->actualizar($id, $datos, $admin); + if (!$ok) { + jsonError('No se pudo actualizar el formulario. Verifica los datos e intenta de nuevo.', 500); + } jsonOk(['id' => $id], 'Formulario actualizado'); } diff --git a/classes/lab/Formulario.php b/classes/lab/Formulario.php index 7dd3f7f..4e0992e 100644 --- a/classes/lab/Formulario.php +++ b/classes/lab/Formulario.php @@ -75,7 +75,8 @@ class Formulario { $campos = array_intersect_key($datos, array_flip($permitidos)); if (isset($campos['esquema'])) { $this->validarEsquema($campos['esquema']); - $campos['version'] = (int)$this->db->fetch('SELECT version FROM lab_formularios WHERE id = ?', [$id])['version'] + 1; + $row = $this->db->fetch('SELECT version FROM lab_formularios WHERE id = ?', [$id]); + $campos['version'] = (int)($row['version'] ?? 0) + 1; } $ok = $this->db->update('lab_formularios', $campos, 'id = ?', [$id]); $this->log->registrar($adminId, 'formularios', 'editar', $id, $campos);