Fix: preservar todos los exámenes seleccionados al configurar tiempos
Al guardar config de un examen se sobreescribía _c8j2g16 con solo ese examen, perdiendo los demás en el reload. Ahora se envía exam_types (array completo), se guarda como array en datos_respuestas y sessionStorage restaura todos los checkboxes marcados al recargar. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
b13cc3f8ea
commit
0ea411ce62
@@ -44,7 +44,13 @@ if ($tc['datos_respuestas']) {
|
||||
// Merge: preserve config from other exams already saved
|
||||
if (!isset($dr['_tomas_config']) || !is_array($dr['_tomas_config'])) $dr['_tomas_config'] = [];
|
||||
foreach ($cfg as $k => $v) $dr['_tomas_config'][$k] = $v;
|
||||
if ($examType !== '') $dr['_c8j2g16'] = $examType;
|
||||
// Guardar selección completa de exámenes (array) para que el reload restaure todos
|
||||
$examTypes = isset($body['exam_types']) && is_array($body['exam_types']) ? array_values(array_filter($body['exam_types'])) : [];
|
||||
if ($examTypes) {
|
||||
$dr['_c8j2g16'] = count($examTypes) === 1 ? $examTypes[0] : $examTypes;
|
||||
} elseif ($examType !== '' && !array_key_exists('_c8j2g16', $dr)) {
|
||||
$dr['_c8j2g16'] = $examType;
|
||||
}
|
||||
if ($otroHora !== '') $dr['_otro_hora'] = $otroHora;
|
||||
|
||||
$pdo->prepare("UPDATE turnero_consentimientos SET datos_respuestas = ? WHERE id = ?")
|
||||
|
||||
Reference in New Issue
Block a user