diff --git a/api/lab/save_formulario.php b/api/lab/save_formulario.php index e74bccb..d2e7b1a 100644 --- a/api/lab/save_formulario.php +++ b/api/lab/save_formulario.php @@ -22,6 +22,21 @@ try { jsonOk(['id' => (int)$datos['id']], 'Formulario eliminado'); } + // Clonar + if (!empty($datos['id']) && !empty($datos['clonar'])) { + $original = $form->obtener((int)$datos['id']); + if (!$original) jsonError('Formulario no encontrado', 404); + $nuevoId = $form->crear([ + 'nombre' => 'Copia de ' . $original['nombre'], + 'descripcion' => $original['descripcion'] ?? null, + 'categoria' => $original['categoria'] ?? 'otro', + 'esquema' => $original['esquema'] ?? '[]', + 'permite_firma' => $original['permite_firma'] ?? 0, + 'requiere_firma' => $original['requiere_firma'] ?? 0, + ], $admin); + jsonOk(['id' => $nuevoId], 'Formulario clonado'); + } + // Editar if (!empty($datos['id'])) { $id = (int)$datos['id']; diff --git a/lab_formularios.php b/lab_formularios.php index a96c004..ea93d47 100644 --- a/lab_formularios.php +++ b/lab_formularios.php @@ -445,6 +445,8 @@ function renderFormularios() { Enviar ${PUEDE_ESCRIBIR ? ` +