From 75ead05b14f038829785528c0585f08cbefc2ead Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Wed, 24 Jun 2026 01:11:27 -0500 Subject: [PATCH] fix: formulario de consentimiento turnero mostraba campos editables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit En modo turnero el documento debe ser de solo lectura; solo la firma del paciente es interactiva. Los campos editables (inputs, selects, checkboxes) solo aplican para envíos normales sin modo turnero. También inicializa $_renderedFirmaPaciente que se usaba sin definir, evitando que la firma aparezca duplicada al pie del documento. Co-Authored-By: Claude Sonnet 4.6 --- ver_formulario_enviado.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ver_formulario_enviado.php b/ver_formulario_enviado.php index 5db2c17..5c5d458 100644 --- a/ver_formulario_enviado.php +++ b/ver_formulario_enviado.php @@ -452,8 +452,9 @@ function esc2(mixed $v): string { // Firma global del paciente: fallback para cuando no hay datos_cliente por campo $firmaSharedPaciente = $envio['firma_svg'] ?? null; - // Rastrear campos profesional con canvas ya renderizado (para no duplicar) + // Rastrear si ya se renderizó la firma inline (para no duplicarla al pie) $_renderedFirmaProfesional = false; + $_renderedFirmaPaciente = false; foreach ($esquema as $campo): $tipo = $campo['tipo'] ?? ''; @@ -481,7 +482,8 @@ function esc2(mixed $v): string { if (!$fSvg && !$fFoto && !$isPro) continue; $yaHayCanvasPro = $isPro && $_renderedFirmaProfesional; - if ($isPro) $_renderedFirmaProfesional = true; + if ($isPro) $_renderedFirmaProfesional = true; + if (!$isPro && $fSvg) $_renderedFirmaPaciente = true; ?>
@@ -543,8 +545,9 @@ function esc2(mixed $v): string { $cid = $campo['id'] ?? null; if (!$cid) continue; - // ── Modo editar (turnero, consentimiento pendiente): campos interactivos ── - if ($modoEditar): + // ── Modo editar: campos interactivos solo para envíos normales. + // En turnero el documento es de solo lectura; solo la firma es interactiva. + if ($modoEditar && !$modoTurnero): $prefill = $todos[$cid] ?? ''; $label = esc2($campo['label'] ?? $cid); $req = !empty($campo['required']) ? ' required' : '';