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