feat: modo embebido de formulario por lugar (link vs iframe)

- Nueva columna turnero_lugares.formulario_modo (link|embebido)
- Config: radio en modal de edición para elegir el modo
- lugar.php: muestra iframe con ver_formulario_enviado al activar turno
- API get_consent_token.php: crea/obtiene token para turno+lugar

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-03 11:35:45 -05:00
co-authored by Claude Sonnet 4.6
parent daa9827d93
commit f8245b4d6f
5 changed files with 149 additions and 16 deletions
+6 -4
View File
@@ -52,6 +52,8 @@ $sortOrder = (int)($input['sort_order'] ?? 99);
$activo = (int)($input['activo'] ?? 1);
$tipo = in_array($input['tipo'] ?? '', ['recepcion', 'muestras'], true)
? $input['tipo'] : 'muestras';
$formModo = in_array($input['formulario_modo'] ?? '', ['link', 'embebido'], true)
? $input['formulario_modo'] : 'link';
$formularioIds = isset($input['formulario_ids']) && is_array($input['formulario_ids'])
? array_filter(array_map('intval', $input['formulario_ids']), fn($v) => $v > 0)
: [];
@@ -64,15 +66,15 @@ $pdo->beginTransaction();
try {
if ($id) {
$stmt = $pdo->prepare(
'UPDATE turnero_lugares SET nombre=?, tipo=?, descripcion=?, sort_order=?, activo=? WHERE id=?'
'UPDATE turnero_lugares SET nombre=?, tipo=?, descripcion=?, sort_order=?, activo=?, formulario_modo=? WHERE id=?'
);
$stmt->execute([$nombre, $tipo, $desc ?: null, $sortOrder, $activo, $id]);
$stmt->execute([$nombre, $tipo, $desc ?: null, $sortOrder, $activo, $formModo, $id]);
$lugarId = $id;
} else {
$stmt = $pdo->prepare(
'INSERT INTO turnero_lugares (nombre, tipo, descripcion, sort_order, activo) VALUES (?, ?, ?, ?, ?)'
'INSERT INTO turnero_lugares (nombre, tipo, descripcion, sort_order, activo, formulario_modo) VALUES (?, ?, ?, ?, ?, ?)'
);
$stmt->execute([$nombre, $tipo, $desc ?: null, $sortOrder, $activo]);
$stmt->execute([$nombre, $tipo, $desc ?: null, $sortOrder, $activo, $formModo]);
$lugarId = (int) $pdo->lastInsertId();
}