fix: tomas_total respeta _tomas_config al calcular progreso del badge
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 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
f5de2c90ca
commit
82c76393e5
@@ -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++;
|
||||
|
||||
Reference in New Issue
Block a user