admin: improve force-zuteilung create/edit form UI
All checks were successful
Deploy Workshop-Wahlen (DEV / PROD) / deploy (push) Successful in 13s

This commit is contained in:
Blitz08
2026-01-31 11:19:05 +01:00
parent a4719e9c58
commit 1c08324b24

View File

@@ -39,57 +39,78 @@ function kc_force_zuteilung_page() {
$fid = intval($_GET['edit_force']); $fid = intval($_GET['edit_force']);
$fz = $wpdb->get_row("SELECT * FROM {$prefix}kc_force_zuteilung WHERE id=$fid"); $fz = $wpdb->get_row("SELECT * FROM {$prefix}kc_force_zuteilung WHERE id=$fid");
echo '<div class="kc-admin-table-wrap">'; echo '<div class="kc-admin-table-wrap">';
echo '<h2>Force-Zuteilung bearbeiten</h2> echo '<h2>Force-Zuteilung bearbeiten</h2>';
<form method="post"> echo '<div class="kc-form-container" style="max-width:880px;padding:18px 20px;border-radius:10px;background:#fff;border:1px solid #eef3f2;">';
<input type="hidden" name="fid" value="'.intval($fz->id).'"> echo '<form method="post">';
<div class="kc-form-row"> echo '<input type="hidden" name="fid" value="'.intval($fz->id).'">';
<label>Teilnehmer <span class="kc-required">*</span></label> echo '<div style="display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start">';
<select name="teilnehmer_id" id="kc-force-teilnehmer-dropdown" style="width:100%">
<option value="">Teilnehmer ausw<73>hlen<65></option>'; // Teilnehmer
echo '<div class="kc-form-row" style="min-width:0">';
echo '<label>Teilnehmer <span class="kc-required">*</span></label>';
echo '<select name="teilnehmer_id" id="kc-force-teilnehmer-dropdown" style="width:100%">';
echo '<option value="">Teilnehmer auswählen…</option>';
foreach($teilnehmer_liste as $t) { foreach($teilnehmer_liste as $t) {
echo '<option value="'.esc_attr($t->id).'"'.($fz->teilnehmer_id==$t->id?' selected':'').'>' echo '<option value="'.esc_attr($t->id).'"'.($fz->teilnehmer_id==$t->id?' selected':'').'>'
.esc_html($t->vorname.' '.$t->nachname.' (ID: '.$t->id.')') .esc_html($t->vorname.' '.$t->nachname.' (ID: '.$t->id.')')
.'</option>'; .'</option>';
} }
echo ' </select> echo '</select>';
</div> echo '</div>';
<div class="kc-form-row">
<label>Wahl <span class="kc-required">*</span></label> // Wahl
<select name="wahl_id" id="kc-force-wahl-dropdown" style="width:100%"> echo '<div class="kc-form-row" style="min-width:0">';
<option value="">Wahl ausw<73>hlen<65></option>'; echo '<label>Wahl <span class="kc-required">*</span></label>';
echo '<select name="wahl_id" id="kc-force-wahl-dropdown" style="width:100%">';
echo '<option value="">Wahl auswählen…</option>';
foreach($wahlen as $w) { foreach($wahlen as $w) {
echo '<option value="'.intval($w->id).'"'.($fz->wahl_id==$w->id?' selected':'').'>' echo '<option value="'.intval($w->id).'"'.($fz->wahl_id==$w->id?' selected':'').'>'
.esc_html($w->name.' (ID '.$w->id.')').'</option>'; .esc_html($w->name.' (ID '.$w->id.')').'</option>';
} }
echo ' </select> echo '</select>';
</div> echo '</div>';
<div class="kc-form-row">
<label>Phase</label> // Phase
<input type="number" name="phase" value="'.intval($fz->phase).'" style="width:100%"> echo '<div class="kc-form-row" style="min-width:0">';
</div> echo '<label>Phase</label>';
<div class="kc-form-row"> echo '<input type="number" name="phase" value="'.intval($fz->phase).'" style="width:100%;padding:8px;border-radius:6px;border:1px solid #ddd">';
<label>Workshop <span class="kc-required">*</span></label> echo '</div>';
<select name="workshop_id" id="kc-force-workshop-dropdown" style="width:100%">
<option value="">Workshop ausw<73>hlen<65></option>'; // Workshop
echo '<div class="kc-form-row" style="min-width:0">';
echo '<label>Workshop <span class="kc-required">*</span></label>';
echo '<select name="workshop_id" id="kc-force-workshop-dropdown" style="width:100%">';
echo '<option value="">Workshop auswählen…</option>';
foreach($workshop_liste as $ws) { foreach($workshop_liste as $ws) {
echo '<option value="'.esc_attr($ws->id).'"'.($fz->workshop_id==$ws->id?' selected':'').'>' echo '<option value="'.esc_attr($ws->id).'"'.($fz->workshop_id==$ws->id?' selected':'').'>'
.esc_html($ws->name) .esc_html($ws->name)
.'</option>'; .'</option>';
} }
echo ' </select> echo '</select>';
</div> echo '</div>';
<div class="kc-form-row">
<label>Kommentar</label> // Kommentar (full width)
<input type="text" name="kommentar" value="'.esc_attr($fz->kommentar).'" style="width:100%"> echo '<div style="grid-column:1/ -1">';
</div> echo '<div class="kc-form-row">';
<button name="kc_force_save" class="kc-btn">Speichern</button> echo '<label>Kommentar</label>';
<a href="?page=kc_force_zuteilung" class="kc-btn del" style="margin-left:24px;">Abbrechen</a> echo '<input type="text" name="kommentar" value="'.esc_attr($fz->kommentar).'" style="width:100%;padding:8px;border-radius:6px;border:1px solid #ddd">';
</form> echo '</div>';
<script> echo '</div>';
echo '</div>'; // grid
echo '<div style="margin-top:12px;display:flex;gap:10px;justify-content:flex-start">';
echo '<button name="kc_force_save" class="kc-btn" style="padding:8px 16px;">Speichern</button>';
echo '<a href="?page=kc_force_zuteilung" class="kc-btn del" style="padding:8px 16px;">Abbrechen</a>';
echo '</div>';
echo '</form>';
echo '</div>';
echo '<script>
jQuery(function($){ jQuery(function($){
$("#kc-force-teilnehmer-dropdown").select2({placeholder:"Teilnehmer ausw<EFBFBD>hlen<EFBFBD>",allowClear:true}); $("#kc-force-teilnehmer-dropdown").select2({placeholder:"Teilnehmer auswählen",allowClear:true});
$("#kc-force-wahl-dropdown").select2({placeholder:"Wahl ausw<EFBFBD>hlen<EFBFBD>",allowClear:true}); $("#kc-force-wahl-dropdown").select2({placeholder:"Wahl auswählen",allowClear:true});
$("#kc-force-workshop-dropdown").select2({placeholder:"Workshop ausw<EFBFBD>hlen<EFBFBD>",allowClear:true}); $("#kc-force-workshop-dropdown").select2({placeholder:"Workshop auswählen",allowClear:true});
}); });
</script>'; </script>';
echo '</div>'; echo '</div>';
@@ -99,56 +120,73 @@ function kc_force_zuteilung_page() {
// Neu anlegen // Neu anlegen
if (isset($_GET['new'])) { if (isset($_GET['new'])) {
echo '<div class="kc-admin-table-wrap">'; echo '<div class="kc-admin-table-wrap">';
echo '<h2>Neue Force-Zuteilung</h2> echo '<h2>Neue Force-Zuteilung</h2>';
<form method="post"> echo '<div class="kc-form-container" style="max-width:880px;padding:18px 20px;border-radius:10px;background:#fff;border:1px solid #eef3f2;">';
<div class="kc-form-row"> echo '<form method="post">';
<label>Teilnehmer <span class="kc-required">*</span></label>
<select name="teilnehmer_id" id="kc-force-teilnehmer-dropdown" style="width:100%"> echo '<div style="display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start">';
<option value="">Teilnehmer ausw<73>hlen<65></option>';
// Teilnehmer
echo '<div class="kc-form-row" style="min-width:0">';
echo '<label>Teilnehmer <span class="kc-required">*</span></label>';
echo '<select name="teilnehmer_id" id="kc-force-teilnehmer-dropdown" style="width:100%">';
echo '<option value="">Teilnehmer auswählen…</option>';
foreach($teilnehmer_liste as $t) { foreach($teilnehmer_liste as $t) {
echo '<option value="'.esc_attr($t->id).'">' echo '<option value="'.esc_attr($t->id).'">'.esc_html($t->vorname.' '.$t->nachname.' (ID: '.$t->id.')').'</option>';
.esc_html($t->vorname.' '.$t->nachname.' (ID: '.$t->id.')')
.'</option>';
} }
echo ' </select> echo '</select>';
</div> echo '</div>';
<div class="kc-form-row">
<label>Wahl <span class="kc-required">*</span></label> // Wahl
<select name="wahl_id" id="kc-force-wahl-dropdown" style="width:100%"> echo '<div class="kc-form-row" style="min-width:0">';
<option value="">Wahl ausw<73>hlen<65></option>'; echo '<label>Wahl <span class="kc-required">*</span></label>';
echo '<select name="wahl_id" id="kc-force-wahl-dropdown" style="width:100%">';
echo '<option value="">Wahl auswählen…</option>';
foreach($wahlen as $w) { foreach($wahlen as $w) {
echo '<option value="'.intval($w->id).'">' echo '<option value="'.intval($w->id).'">'.esc_html($w->name.' (ID '.$w->id.')').'</option>';
.esc_html($w->name.' (ID '.$w->id.')').'</option>';
} }
echo ' </select> echo '</select>';
</div> echo '</div>';
<div class="kc-form-row">
<label>Phase</label> // Phase
<input type="number" name="phase" value="1" style="width:100%"> echo '<div class="kc-form-row" style="min-width:0">';
</div> echo '<label>Phase</label>';
<div class="kc-form-row"> echo '<input type="number" name="phase" value="1" style="width:100%;padding:8px;border-radius:6px;border:1px solid #ddd">';
<label>Workshop <span class="kc-required">*</span></label> echo '</div>';
<select name="workshop_id" id="kc-force-workshop-dropdown" style="width:100%">
<option value="">Workshop ausw<73>hlen<65></option>'; // Workshop
echo '<div class="kc-form-row" style="min-width:0">';
echo '<label>Workshop <span class="kc-required">*</span></label>';
echo '<select name="workshop_id" id="kc-force-workshop-dropdown" style="width:100%">';
echo '<option value="">Workshop auswählen…</option>';
foreach($workshop_liste as $ws) { foreach($workshop_liste as $ws) {
echo '<option value="'.esc_attr($ws->id).'">' echo '<option value="'.esc_attr($ws->id).'">'.esc_html($ws->name).'</option>';
.esc_html($ws->name)
.'</option>';
} }
echo ' </select> echo '</select>';
</div> echo '</div>';
<div class="kc-form-row">
<label>Kommentar</label> // Kommentar full width
<input type="text" name="kommentar" style="width:100%"> echo '<div style="grid-column:1/ -1">';
</div> echo '<div class="kc-form-row">';
<button name="kc_force_save" class="kc-btn">Speichern</button> echo '<label>Kommentar</label>';
<a href="?page=kc_force_zuteilung" class="kc-btn del" style="margin-left:24px;">Abbrechen</a> echo '<input type="text" name="kommentar" style="width:100%;padding:8px;border-radius:6px;border:1px solid #ddd">';
</form> echo '</div>';
<script> echo '</div>';
echo '</div>'; // grid
echo '<div style="margin-top:12px;display:flex;gap:10px;justify-content:flex-start">';
echo '<button name="kc_force_save" class="kc-btn" style="padding:8px 16px;">Speichern</button>';
echo '<a href="?page=kc_force_zuteilung" class="kc-btn del" style="padding:8px 16px;">Abbrechen</a>';
echo '</div>';
echo '</form>';
echo '</div>';
echo '<script>
jQuery(function($){ jQuery(function($){
$("#kc-force-teilnehmer-dropdown").select2({placeholder:"Teilnehmer ausw<EFBFBD>hlen<EFBFBD>",allowClear:true}); $("#kc-force-teilnehmer-dropdown").select2({placeholder:"Teilnehmer auswählen",allowClear:true});
$("#kc-force-wahl-dropdown").select2({placeholder:"Wahl ausw<EFBFBD>hlen<EFBFBD>",allowClear:true}); $("#kc-force-wahl-dropdown").select2({placeholder:"Wahl auswählen",allowClear:true});
$("#kc-force-workshop-dropdown").select2({placeholder:"Workshop ausw<EFBFBD>hlen<EFBFBD>",allowClear:true}); $("#kc-force-workshop-dropdown").select2({placeholder:"Workshop auswählen",allowClear:true});
}); });
</script>'; </script>';
echo '</div>'; echo '</div>';