up
This commit is contained in:
@@ -26,7 +26,15 @@ try {
|
|||||||
if (!empty($datos['id'])) {
|
if (!empty($datos['id'])) {
|
||||||
$id = (int)$datos['id'];
|
$id = (int)$datos['id'];
|
||||||
unset($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');
|
jsonOk(['id' => $id], 'Formulario actualizado');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -75,7 +75,8 @@ class Formulario {
|
|||||||
$campos = array_intersect_key($datos, array_flip($permitidos));
|
$campos = array_intersect_key($datos, array_flip($permitidos));
|
||||||
if (isset($campos['esquema'])) {
|
if (isset($campos['esquema'])) {
|
||||||
$this->validarEsquema($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]);
|
$ok = $this->db->update('lab_formularios', $campos, 'id = ?', [$id]);
|
||||||
$this->log->registrar($adminId, 'formularios', 'editar', $id, $campos);
|
$this->log->registrar($adminId, 'formularios', 'editar', $id, $campos);
|
||||||
|
|||||||
Reference in New Issue
Block a user