admin: read phase-count from Wahl option data-einheiten; fallback to mapping
All checks were successful
Deploy Workshop-Wahlen (DEV / PROD) / deploy (push) Successful in 12s

This commit is contained in:
Blitz08
2026-01-31 11:42:46 +01:00
parent b312cae473
commit eb7afe06ff

View File

@@ -64,8 +64,7 @@ function kc_force_zuteilung_page() {
echo '<select name="wahl_id" id="kc-force-wahl-dropdown" style="width:100%">';
echo '<option value="">Wahl auswählen…</option>';
foreach($wahlen as $w) {
echo '<option value="'.intval($w->id).'"'.($fz->wahl_id==$w->id?' selected':'').'>'
.esc_html($w->name.' (ID '.$w->id.')').'</option>';
echo '<option value="'.intval($w->id).'" data-einheiten="'.intval($w->anzahl_einheiten).'"'.($fz->wahl_id==$w->id?' selected':'').'>'.esc_html($w->name.' (ID '.$w->id.')').'</option>';
}
echo '</select>';
echo '</div>';
@@ -121,8 +120,9 @@ jQuery(function($){
$("#kc-force-workshop-dropdown").select2({placeholder:"Workshop auswählen…",allowClear:true});
function refreshPhaseSelect($wahlSelect, $phaseSelect, current) {
var wid = parseInt($wahlSelect.val(),10);
var max = (wid && kcWahlPhases[wid]) ? parseInt(kcWahlPhases[wid],10) : 1;
// prefer data attribute on the selected option; fall back to kcWahlPhases mapping
var selOpt = $wahlSelect.find('option:selected');
var max = parseInt(selOpt.data('einheiten') || kcWahlPhases[parseInt($wahlSelect.val(),10)] || 1, 10);
$phaseSelect.empty();
for(var i=1;i<=max;i++){
var opt = $("<option>").val(i).text(i + (i===1? " (Phase)":" (Phase)"));
@@ -182,7 +182,7 @@ JS;
echo '<select name="wahl_id" id="kc-force-wahl-dropdown" style="width:100%">';
echo '<option value="">Wahl auswählen…</option>';
foreach($wahlen as $w) {
echo '<option value="'.intval($w->id).'">'.esc_html($w->name.' (ID '.$w->id.')').'</option>';
echo '<option value="'.intval($w->id).'" data-einheiten="'.intval($w->anzahl_einheiten).'">'.esc_html($w->name.' (ID '.$w->id.')').'</option>';
}
echo '</select>';
echo '</div>';