fix: signature fields deduplicate and share across same-type fields

- PHP pre-computes one shared SVG per type (firma/firma_profesional)
- Schema loop skips duplicate firma fields of same type already rendered
- Patient signature from turnero widget propagates to all 'firma' schema fields
- firmar_profesional.php saves nurse signature to ALL firma_profesional fields

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-06-16 11:41:20 -05:00
co-authored by Claude Haiku 4.5
parent 8a5b4eef1e
commit d7b1aea5a4
2 changed files with 34 additions and 6 deletions
+6 -2
View File
@@ -69,9 +69,13 @@ if (!$campoDef || ($campoDef['tipo'] ?? '') !== 'firma_profesional') {
err('El campo no es una firma_profesional');
}
// ── Actualizar datos_cliente ─────────────────────────────────────────
// ── Actualizar datos_cliente: guardar en TODOS los campos firma_profesional ──
$datos = json_decode($envio['datos_cliente'] ?? '{}', true) ?? [];
$datos[$campoId . '_svg'] = $svg;
foreach ($esquema as $c) {
if (($c['tipo'] ?? '') === 'firma_profesional' && !empty($c['id'])) {
$datos[$c['id'] . '_svg'] = $svg;
}
}
$nuevosDatos = json_encode($datos, JSON_UNESCAPED_UNICODE);
$nuevoEstado = $envio['estado'] === 'firmado' ? 'firmado' : 'firmado';