Exigir Datos Toma de Muestras en solo_muestras; nombre+cédula del firmante en todos los formatos

get_consentimientos.php ya no salta la autocreación del formulario F-LAB-08
(Datos Toma de Muestras) cuando la visita es "solo entrega de muestras" —
solo se omitían los formularios por examen, los de lugar deben seguir
exigiéndose igual.

ver_formulario_enviado.php cargaba nombre/cédula del profesional firmante
solo dentro del turnero embebido; se amplía también a la firma directa
fuera de turnero (staff logueado). firmar_profesional.php (usado por los
formatos no-turnero) no recibía esos datos del frontend y se perdían;
ahora los guarda en datos_cliente igual que el flujo turnero.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-08-03 12:24:58 -05:00
co-authored by Claude Sonnet 4.6
parent 86aea30f62
commit fd8b83a588
3 changed files with 18 additions and 35 deletions
+7 -3
View File
@@ -29,9 +29,11 @@ if (!isUserLoggedIn()) {
$body = json_decode(file_get_contents('php://input'), true);
if (!$body) $body = $_POST;
$envioId = (int)($body['envio_id'] ?? 0);
$campoId = trim($body['campo_id'] ?? '');
$svg = $body['svg'] ?? '';
$envioId = (int)($body['envio_id'] ?? 0);
$campoId = trim($body['campo_id'] ?? '');
$svg = $body['svg'] ?? '';
$proNombre = trim($body['pro_nombre'] ?? '');
$proCedula = trim($body['pro_cedula'] ?? '');
if (!$envioId) err('envio_id requerido');
if ($campoId === '') err('campo_id requerido');
@@ -72,6 +74,8 @@ if (!$campoDef || ($campoDef['tipo'] ?? '') !== 'firma_profesional') {
// ── Actualizar datos_cliente: guardar solo en el campo firmado ──
$datos = json_decode($envio['datos_cliente'] ?? '{}', true) ?? [];
$datos[$campoId . '_svg'] = $svg;
if ($proNombre !== '') $datos['_pro_nombre'] = $proNombre;
if ($proCedula !== '') $datos['_pro_cedula'] = $proCedula;
$nuevosDatos = json_encode($datos, JSON_UNESCAPED_UNICODE);
$nuevoEstado = $envio['estado'] === 'firmado' ? 'firmado' : 'firmado';