admin: improve force-zuteilung create/edit form UI
All checks were successful
Deploy Workshop-Wahlen (DEV / PROD) / deploy (push) Successful in 13s
All checks were successful
Deploy Workshop-Wahlen (DEV / PROD) / deploy (push) Successful in 13s
This commit is contained in:
@@ -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
|
||||||
foreach($teilnehmer_liste as $t) {
|
echo '<div class="kc-form-row" style="min-width:0">';
|
||||||
echo '<option value="'.esc_attr($t->id).'"'.($fz->teilnehmer_id==$t->id?' selected':'').'>'
|
echo '<label>Teilnehmer <span class="kc-required">*</span></label>';
|
||||||
.esc_html($t->vorname.' '.$t->nachname.' (ID: '.$t->id.')')
|
echo '<select name="teilnehmer_id" id="kc-force-teilnehmer-dropdown" style="width:100%">';
|
||||||
.'</option>';
|
echo '<option value="">Teilnehmer auswählen…</option>';
|
||||||
}
|
foreach($teilnehmer_liste as $t) {
|
||||||
echo ' </select>
|
echo '<option value="'.esc_attr($t->id).'"'.($fz->teilnehmer_id==$t->id?' selected':'').'>'
|
||||||
</div>
|
.esc_html($t->vorname.' '.$t->nachname.' (ID: '.$t->id.')')
|
||||||
<div class="kc-form-row">
|
.'</option>';
|
||||||
<label>Wahl <span class="kc-required">*</span></label>
|
}
|
||||||
<select name="wahl_id" id="kc-force-wahl-dropdown" style="width:100%">
|
echo '</select>';
|
||||||
<option value="">Wahl ausw<73>hlen<65></option>';
|
echo '</div>';
|
||||||
foreach($wahlen as $w) {
|
|
||||||
echo '<option value="'.intval($w->id).'"'.($fz->wahl_id==$w->id?' selected':'').'>'
|
// Wahl
|
||||||
.esc_html($w->name.' (ID '.$w->id.')').'</option>';
|
echo '<div class="kc-form-row" style="min-width:0">';
|
||||||
}
|
echo '<label>Wahl <span class="kc-required">*</span></label>';
|
||||||
echo ' </select>
|
echo '<select name="wahl_id" id="kc-force-wahl-dropdown" style="width:100%">';
|
||||||
</div>
|
echo '<option value="">Wahl auswählen…</option>';
|
||||||
<div class="kc-form-row">
|
foreach($wahlen as $w) {
|
||||||
<label>Phase</label>
|
echo '<option value="'.intval($w->id).'"'.($fz->wahl_id==$w->id?' selected':'').'>'
|
||||||
<input type="number" name="phase" value="'.intval($fz->phase).'" style="width:100%">
|
.esc_html($w->name.' (ID '.$w->id.')').'</option>';
|
||||||
</div>
|
}
|
||||||
<div class="kc-form-row">
|
echo '</select>';
|
||||||
<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>';
|
// Phase
|
||||||
foreach($workshop_liste as $ws) {
|
echo '<div class="kc-form-row" style="min-width:0">';
|
||||||
echo '<option value="'.esc_attr($ws->id).'"'.($fz->workshop_id==$ws->id?' selected':'').'>'
|
echo '<label>Phase</label>';
|
||||||
.esc_html($ws->name)
|
echo '<input type="number" name="phase" value="'.intval($fz->phase).'" style="width:100%;padding:8px;border-radius:6px;border:1px solid #ddd">';
|
||||||
.'</option>';
|
echo '</div>';
|
||||||
}
|
|
||||||
echo ' </select>
|
// Workshop
|
||||||
</div>
|
echo '<div class="kc-form-row" style="min-width:0">';
|
||||||
<div class="kc-form-row">
|
echo '<label>Workshop <span class="kc-required">*</span></label>';
|
||||||
<label>Kommentar</label>
|
echo '<select name="workshop_id" id="kc-force-workshop-dropdown" style="width:100%">';
|
||||||
<input type="text" name="kommentar" value="'.esc_attr($fz->kommentar).'" style="width:100%">
|
echo '<option value="">Workshop auswählen…</option>';
|
||||||
</div>
|
foreach($workshop_liste as $ws) {
|
||||||
<button name="kc_force_save" class="kc-btn">Speichern</button>
|
echo '<option value="'.esc_attr($ws->id).'"'.($fz->workshop_id==$ws->id?' selected':'').'>'
|
||||||
<a href="?page=kc_force_zuteilung" class="kc-btn del" style="margin-left:24px;">Abbrechen</a>
|
.esc_html($ws->name)
|
||||||
</form>
|
.'</option>';
|
||||||
<script>
|
}
|
||||||
|
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($){
|
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>';
|
|
||||||
foreach($teilnehmer_liste as $t) {
|
// Teilnehmer
|
||||||
echo '<option value="'.esc_attr($t->id).'">'
|
echo '<div class="kc-form-row" style="min-width:0">';
|
||||||
.esc_html($t->vorname.' '.$t->nachname.' (ID: '.$t->id.')')
|
echo '<label>Teilnehmer <span class="kc-required">*</span></label>';
|
||||||
.'</option>';
|
echo '<select name="teilnehmer_id" id="kc-force-teilnehmer-dropdown" style="width:100%">';
|
||||||
}
|
echo '<option value="">Teilnehmer auswählen…</option>';
|
||||||
echo ' </select>
|
foreach($teilnehmer_liste as $t) {
|
||||||
</div>
|
echo '<option value="'.esc_attr($t->id).'">'.esc_html($t->vorname.' '.$t->nachname.' (ID: '.$t->id.')').'</option>';
|
||||||
<div class="kc-form-row">
|
}
|
||||||
<label>Wahl <span class="kc-required">*</span></label>
|
echo '</select>';
|
||||||
<select name="wahl_id" id="kc-force-wahl-dropdown" style="width:100%">
|
echo '</div>';
|
||||||
<option value="">Wahl ausw<73>hlen<65></option>';
|
|
||||||
foreach($wahlen as $w) {
|
// Wahl
|
||||||
echo '<option value="'.intval($w->id).'">'
|
echo '<div class="kc-form-row" style="min-width:0">';
|
||||||
.esc_html($w->name.' (ID '.$w->id.')').'</option>';
|
echo '<label>Wahl <span class="kc-required">*</span></label>';
|
||||||
}
|
echo '<select name="wahl_id" id="kc-force-wahl-dropdown" style="width:100%">';
|
||||||
echo ' </select>
|
echo '<option value="">Wahl auswählen…</option>';
|
||||||
</div>
|
foreach($wahlen as $w) {
|
||||||
<div class="kc-form-row">
|
echo '<option value="'.intval($w->id).'">'.esc_html($w->name.' (ID '.$w->id.')').'</option>';
|
||||||
<label>Phase</label>
|
}
|
||||||
<input type="number" name="phase" value="1" style="width:100%">
|
echo '</select>';
|
||||||
</div>
|
echo '</div>';
|
||||||
<div class="kc-form-row">
|
|
||||||
<label>Workshop <span class="kc-required">*</span></label>
|
// Phase
|
||||||
<select name="workshop_id" id="kc-force-workshop-dropdown" style="width:100%">
|
echo '<div class="kc-form-row" style="min-width:0">';
|
||||||
<option value="">Workshop ausw<73>hlen<65></option>';
|
echo '<label>Phase</label>';
|
||||||
foreach($workshop_liste as $ws) {
|
echo '<input type="number" name="phase" value="1" style="width:100%;padding:8px;border-radius:6px;border:1px solid #ddd">';
|
||||||
echo '<option value="'.esc_attr($ws->id).'">'
|
echo '</div>';
|
||||||
.esc_html($ws->name)
|
|
||||||
.'</option>';
|
// Workshop
|
||||||
}
|
echo '<div class="kc-form-row" style="min-width:0">';
|
||||||
echo ' </select>
|
echo '<label>Workshop <span class="kc-required">*</span></label>';
|
||||||
</div>
|
echo '<select name="workshop_id" id="kc-force-workshop-dropdown" style="width:100%">';
|
||||||
<div class="kc-form-row">
|
echo '<option value="">Workshop auswählen…</option>';
|
||||||
<label>Kommentar</label>
|
foreach($workshop_liste as $ws) {
|
||||||
<input type="text" name="kommentar" style="width:100%">
|
echo '<option value="'.esc_attr($ws->id).'">'.esc_html($ws->name).'</option>';
|
||||||
</div>
|
}
|
||||||
<button name="kc_force_save" class="kc-btn">Speichern</button>
|
echo '</select>';
|
||||||
<a href="?page=kc_force_zuteilung" class="kc-btn del" style="margin-left:24px;">Abbrechen</a>
|
echo '</div>';
|
||||||
</form>
|
|
||||||
<script>
|
// 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($){
|
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>';
|
||||||
|
|||||||
Reference in New Issue
Block a user