From 82c76393e5d92cccc6cc4ee90d3a6b9d2824efd3 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Fri, 17 Jul 2026 10:28:07 -0500 Subject: [PATCH] fix: tomas_total respeta _tomas_config al calcular progreso del badge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El badge 1/9 ignoraba la configuración guardada e incluía todas las tomas sin condición. Ahora filtra relevantIds por los firma-ids en _tomas_config, igual que lo hace guardar_toma.php y el render PHP del formulario. Co-Authored-By: Claude Sonnet 4.6 --- modules/turnero/api/get_consentimientos.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/turnero/api/get_consentimientos.php b/modules/turnero/api/get_consentimientos.php index 0755aa1..889cd74 100644 --- a/modules/turnero/api/get_consentimientos.php +++ b/modules/turnero/api/get_consentimientos.php @@ -116,6 +116,13 @@ foreach ($consentimientos as &$c) { } } + // Si hay config de tomas guardada, restringir al subconjunto seleccionado + $tomasConfig = is_array($dr['_tomas_config'] ?? null) ? $dr['_tomas_config'] : null; + if ($tomasConfig !== null) { + $allowedFids = array_merge(...array_values($tomasConfig)); + $relevantIds = array_values(array_filter($relevantIds, fn($id) => in_array($id, $allowedFids, true))); + } + $tomasTotal = count($relevantIds); foreach ($relevantIds as $fid) { if ((!empty($dr[$fid]) && strlen($dr[$fid]) > 10) @@ -341,6 +348,11 @@ if ($incluirSolicitud) { if (!empty(array_intersect($info2['valores'], $ca2))) $relevantIds2[] = $fid2; } } + $cfg2 = is_array($dr2['_tomas_config'] ?? null) ? $dr2['_tomas_config'] : null; + if ($cfg2 !== null) { + $allowed2 = array_merge(...array_values($cfg2)); + $relevantIds2 = array_values(array_filter($relevantIds2, fn($id) => in_array($id, $allowed2, true))); + } $tomasTotal2 = count($relevantIds2); foreach ($relevantIds2 as $fid2) { if (!empty($dr2[$fid2]) && strlen($dr2[$fid2]) > 10) $tomasFirm++;