Basic implementation event signup

This commit is contained in:
2024-05-27 16:59:30 +02:00
parent a66f2d2422
commit a69d83bc0a
321 changed files with 138376 additions and 644 deletions

View File

@ -0,0 +1,32 @@
<table>
<tr>
<td>Allergien / Unverträglichkeiten:</td>
<td><input type="text" name="allergien" /></td>
</tr>
<tr>
<td>Medikamente:</td>
<td>
<input type="text" name="medikamente" />*<br />
Medikamente in ausreichender Menge müssen selbst mitgebracht werden.
</td>
</tr>
<tr>
<td>Essgewohnheiten:</td>
<td>
<select name="essgewohnheit">
<option value="vegetarisch">Vegetarisch</option>
<option value="vegan">Vegan</option>
</select>
</td>
</tr>
<tr style="vertical-align: top;">
<td>Was möchtest du uns noch mitteilen?:</td>
<td><textarea rows=15 name="anmerkungen"></textarea></td>
</tr>
</table>
<input type="checkbox" name="_dsgvo_accept" id="dsgvo_accept" />
<label for="dsgvo_accept" id="dsgvo_text">Ich gebe mein Einverständnis, dass meine hier eingegebenen Daten zum Zweck der Veranstaltungsanmeldung und Abrechnung elektronisch übermittelt und gespeichert werden.</label>
<br /><br />
<input type="submit" value="Anmeldung durchführen" style="width: 200px;"/>

View File

@ -0,0 +1,22 @@
<div onclick="showStep(2)" class="altersstufe_td">
<div>
<h3>Mein Kind anmelden</h3>
Mein Kind ist noch nicht volljährig, ich möchte mein Kind für die Veranstaltung anmelden.
</div>
<p class="emblems_selection">
<img src="{{BDP_LV_PLUGIN_URL}}/assets/woe.png" style="width: 75px; height: 75px;" />
<img src="{{BDP_LV_PLUGIN_URL}}/assets/klilie.png" style="width: 75px; height: 75px;" />
</p>
</div>
<div onclick="showStep(3)" class="altersstufe_td">
<div>
<h3>Mich selbst anmelden</h3>
Ich bin volljährig und möchte mich für die Veranstaltung anmelden.
</div>
<p class="emblems_selection">
<img src="{{BDP_LV_PLUGIN_URL}}/assets/rr.png" style="width: 75px; height: 75px;" />
</p>
</div>

View File

@ -0,0 +1,29 @@
<table>
<tr style="vertical-align: top;">
<td>Anreise:</td>
<td>
<input type="date" name="anreise" id="anreise" value="{{startdate}}" /><br />
<select name="anreise_essen">
<option value="1" selected>Vor dem Abendessen</option>
<option value="2">Vor dem Mittagessen</option>
<option value="3">Vor dem Frühstück</option>
<option value="4">Zur Abendrunde / Kein Essen am Anreisetag</option>
</select>
</td>
</tr>
<tr style="vertical-align: top;">
<td>Abreise:</td>
<td>
<input type="date" name="abreise" id="abreise" value="{{enddate}}" /><br />
<select name="abreise_essen">
<option value="1">Nach dem Frühstück</option>
<option selected value="2">Nach dem Mittagessen</option>
<option value="3">Nach dem Abendessen</option>
<option value="4">ganz am Morgen / Kein Essen am Abreisetag</option>
</select>
</td>
</tr>
</table>
<input type="button" value="Weiter" onclick="checkAnreise()" />

View File

@ -0,0 +1,29 @@
<table>
<tr>
<td>Name, Vorname:</td>
<td><input type="text" name="ansprechpartner" id="ansprechpartner" /></td>
</tr>
<tr>
<td>Telefon:</td>
<td><input type="text" name="telefon_2" id="telefon_2" /></td>
</tr>
<tr>
<td>E-Mail:</td>
<td><input type="text" name="email_2" id="email_2"/></td>
</tr>
<tr>
<td>Bade-Erlaubnis:</td>
<td>
<select name="badeerlaubnis">
<option value="none">Keine Badeerlaubnis</option>
<option value="partial">Mein kind darf baden, kann aber NICHT SCHWIMMEN</option>
<option value="complete">Mein Kind darf baden und kann schwimmen</option>
</select>
</td>
</tr>
</table>
<input type="button" value="Weiter" onclick="checkAnsprechpartner()" />

View File

@ -0,0 +1,17 @@
<table>
<tr style="vertical-align: top;">
<td>Beitrag:</td>
<td style="text-align: left;">
<input style="width: 20px !important;" type="radio" name="beitrag" value="{{amount_reduced}}" id="beitrag_sozial">
<label for="beitrag_sozial">Geförderter Beitrag {{amount_reduced}} Euro <span style="font-size: 10pt; font-weight: bold;">(nach Verfügbarkeit)</span></label><br />
<input style="width: 20px !important;" type="radio" value="{{amount_default}}" name="beitrag" id="beitrag_standard" checked>
<label for="beitrag_standard">Normalbeitrag {{amount_default}} Euro</label><br />
<input style="width: 20px !important;" name="zusatzbeitrag" type="checkbox" value="{{amount_social}}" id="zusatzbeitrag">
<label for="zusatzbeitrag">Ich unterstütze die Veranstaltung mit einem <b>freiwilligen Zusatzbeitrag</b> von
{{amount_social}} Euro</label>
</td>
</tr>
</table>
<input type="button" value="Weiter" onclick="showStep(7)" />

View File

@ -0,0 +1,20 @@
<h1>Hallo %s,</h1>
<p>
Deine Anmeldung für das Pfingstlager 2024 in Taucha wurde erfolgreich durchgeführt. Wir haben folgende Daten erfasst:
<table>
<tr><td>Anreise:</td><td>%s</td></tr>
<tr><td>Abreise:</td><td>%s</td></tr>
<tr><td>Essenswunsch:</td><td>%s</td></tr>
</table>
Sollte dies nicht korrekt sein, oder wenn du dringende Fragen hast, wende dich bitte an
<a href="mailto:thomas@pfadfinden-halle.de?subject=Rückfrage Anmeldung Pfingstlager 2024">thomas@pfadfinden-halle.de</a>
</p>
<p>
Weitere Informationen senden wir dir in Kürze zu, Fragen zur An- und Abreise beantwortet dir deine Stammes- oder Gruppenführung.
</p>
<p>
Liebe Grüße und Gut Pfad,<br />
Thomas<br />
Lagerleitung
</p>

View File

@ -0,0 +1,15 @@
<h1>Hallo %s,</h1>
<p>
Deine Anmeldung für das Pfingstlager 2024 in Taucha wurde erfolgreich durchgeführt. Wir haben folgende Daten erfasst:
<table>
<tr><td>Anreise:</td><td>%s</td></tr>
<tr><td>Abreise:</td><td>%s</td></tr>
<tr><td>Essenswunsch:</td><td>%s</td></tr>
</table>
Sollte dies nicht korrekt sein, oder wenn du dringende Fragen hast, wende dich bitte an
<a href="mailto:thomas@pfadfinden-halle.de?subject=Rückfrage Anmeldung Pfingstlager 2024">thomas@pfadfinden-halle.de</a>
</p>
<p>
Deine Anmeldung wird dir in den nächsten Minuten auch per E-Mail bestätigt.
</p>

View File

@ -0,0 +1,8 @@
<h1>Hallo %s,</h1>
<p>
Leider konnte deine Anmeldung nicht automatisch verarbeitet werden. Dies ist meistens dann der Fall, wenn das Formular Daten enthält, die nicht automatisch verarbeitet werden können.<br />
Die Lagerleitung wurde bereits informiert und versucht, die Anmeldung manuell durchzuführen. Im Anschluss, oder bei Rückfragen, wirst du per E-Mail kontaktiert.<br /><br />
Sollte dies nicht innerhalb von 3 Tagen passieren, wende dich bitte per Mail an <a href="mailto:thomas@pfadfinden-halle.de?subject=Anmeldeproblem Pfingstlager 2024">thomas@pfadfinden-halle.de</a>
<br /><br /><br />
Bitte entschuldige die entstandenen Unannehmlichkeiten.
</p>

View File

@ -0,0 +1,25 @@
<p style="font-weight: bold; font-size: 13pt;">
Bitte teile uns noch mit, wofür wir Fotoaufnahmen von dir / deinem Kind anfertigen dürfen.
</p>
<p>
<input type="checkbox" name="foto[]" value="socialmedia" id="foto_socialmedia" />
<label for="foto_socialmedia">Soziale Medien (Facebook / Instagram / ...)</label><br />
</p>
<p>
<input type="checkbox" name="foto[]" value="print" id="foto_print" />
<label for="foto_print">Printmedien (Lokale Tageszeitung, BdP - Magazin "Pfade", Postkarten)</label><br />
</p>
<input type="checkbox" name="foto[]" value="webseite" id="foto_webseite" />
<label for="foto_webseite">Webseiten (www.pfadfinden.de / Webseite des eigenen Stammes)</label><br />
<p>
<input type="checkbox" name="foto[]" value="partner" id="foto_partner" />
<label for="foto_partner">Partner & Sponsoren (Oftmals in Form von E-Mail)</label><br />
</p>
<p>
<input type="checkbox" name="foto[]" value="intern" id="foto_intern" />
<label for="foto_intern">Interne Zwecke (Stammes-Chronik, geschütztes Landes-Fotoalbum)</label><br />
</p>
<input type="button" value="Weiter" onclick="showStep(8)" />

View File

@ -0,0 +1,13 @@
<table>
<tr style="vertical-align: top;">
<td>Bei der Veranstaltung:</td>
<td>
<input style="width: 20px;" type="radio" name="gruppe_id" value="2" id="gruppe_2" />
<label for="gruppe_2">Ich übernehme hauptsächlich Aufgaben und unterstütze das Team</label><br />
<input style="width: 20px;" type="radio" name="gruppe_id" value="1" id="gruppe_1" checked />
<label for="gruppe_1">Ich möchte hauptsächlich am Programm teilnehmen</label><br />
</td>
</tr>
</table>
<input type="button" value="Weiter" onclick="showStep(5)" />

View File

@ -0,0 +1,66 @@
<table>
<tr>
<td>Vorname:</td>
<td><input type="text" name="vorname" id="vorname" /></td>
</tr>
<tr>
<td>Nachname:</td>
<td><input type="text" name="nachname" id="nachname" /></td>
</tr>
<tr>
<td>Pfadi-Name:</td>
<td><input type="text" name="pfadiname" id="pfadiname" /></td>
</tr>
<tr>
<td>Stamm / ABG:</td>
<td>
<select name="stamm" required placeholder="Bitte wählen">
<option value="ANC">Ancalagon</option>
<option value="BAN">Bankiva</option>
<option value="FEU">Feuerland</option>
<option value="LEO">LEO</option>
<option value="WM">Wilde Möhre</option>
</select>
</td>
</tr>
<tr>
<td>Geburtsdatum:</td>
<td><input type="date" name="geburtsdatum" id="geburtsdatum" /></td>
</tr>
<tr>
<td>
Straße, Hausnummer
</td>
<td>
<input type="text" name="strasse" id="strasse" style="width: 285px;" />
<input type="text" name="hausnummer" id="hausnummer" style="width: 50px;" />
</td>
</tr>
<tr>
<td>
PLZ, Wohnort
</td>
<td>
<input type="text" name="plz" id="plz" style="width: 80px;" />
<input type="text" name="ort" id="ort" style="width: 255px;" />
</td>
</tr>
<tr>
<td>Telefon:</td>
<td><input type="text" name="telefon_1" id="telefon_1" /></td>
</tr>
<tr>
<td>E-Mail:</td>
<td><input type="text" name="email_1" id="email_1" /></td>
</tr>
</table>
<input type="button" value="Weiter" onclick="checkAddress();" />

View File

@ -0,0 +1,49 @@
<div style="display: inline-block;">
<table style="width:100%;">
<tr style="vertical-align: top;">
<td>
Badeerlaubnis:
</td>
<td>
<?= ($participant->badeerlaubnis == 'complete' || kompass_is_fullaged($participant->geburtsdatum))
? 'Badeerlaubnis, kann schwimmen' :
($participant->badeerlaubnis == 'partial' ? 'Badeerlaubnis, kann nicht schwimmmen' : 'Keine Badeerlaubnis') ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td>
Essgewohnheiten:
</td>
<td>
<?= $participant->essgewohnheit == 'all' ?
'Tierisch & Pflanzlich' : ($participant->essgewohnheit == 'vegetarisch' ? 'Vegetarisch' : 'Vegan'); ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td>
Allergien:
</td>
<td>
<?= $participant->allergien; ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td>
Notwendige Medikamente:
</td>
<td>
<?= $participant->medikamente; ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td>
Mitteilung an uns / Kommentare:
</td>
<td>
<?= nl2br($participant->anmerkungen); ?>
</td>
</tr>
</table>
</div>

View File

@ -0,0 +1,56 @@
<div style="display: inline-block;">
<table style="width:100%;">
<tr style="vertical-align: top;">
<td>
Badeerlaubnis:
</td>
<td>
<select name="badeerlaubnis" style="width:100%;">
<option <?= $participant->badeerlaubnis == 'none' ? 'selected' : '' ?> value="none">Keine Badeerlaubnis</option>
<option <?= $participant->badeerlaubnis == 'partial' ? 'selected' : '' ?> value="partial">Badeerlaubnis, kann nicht schwimmmen</option>
<option <?= $participant->badeerlaubnis == 'complete' || kompass_is_fullaged($participant->geburtsdatum) ? 'selected' : '' ?> value="complete">Badeerlaubnis, kann schwimmen</option>
</select>
</td>
</tr>
<tr style="vertical-align: top;">
<td>
Essgewohnheiten:
</td>
<td>
<select name="essgewohnheit" style="width:100%;">
<option <?= $participant->essgewohnheit == 'all' ? 'selected' : '' ?> value="all">Ich esse Fleisch</option>
<option <?= $participant->essgewohnheit == 'vegetarisch' ? 'selected' : '' ?> value="vegetarisch">Vegetarisch</option>
<option <?= $participant->essgewohnheit == 'vegan' ? 'selected' : '' ?> value="vegan">Vegan</option>
</select>
</td>
</tr>
<tr style="vertical-align: top;">
<td>
Allergien:
</td>
<td>
<input type="text" name="allergien" value="<?= $participant->allergien; ?>">
</td>
</tr>
<tr style="vertical-align: top;">
<td>
Notwendige Medikamente:
</td>
<td>
<input type="text" name="medikamente" value="<?= $participant->medikamente; ?>">
</td>
</tr>
<tr style="vertical-align: top;">
<td>
Mitteilung an uns / Kommentare:
</td>
<td>
<textarea name=" anmerkungen" rows="5" style="width:100%;"><?= $participant->anmerkungen; ?></textarea>
</td>
</tr>
</table>
</div>

View File

@ -0,0 +1,126 @@
<div>
<table style="width:100%;">
<tr style="vertical-align: top;">
<td style="width: 200px;">
Volljährig:
</td>
<td>
<?= $participant->is_fullaged() ? 'Ja' : 'Nein' ?><br />
<?= \DateTime::createFromFormat('Y-m-d', $participant->geburtsdatum)->format('d.m.Y'); ?>
(<?= $participant->get_age() ?> Jahre)
</td>
</tr>
<?php if ( !kompass_is_fullaged($participant->geburtsdatum) ) {
?>
<tr>
<td>Name des Ansprechpartners:</td>
<td><?= $participant->ansprechpartner; ?></td>
</tr>
<?php
}
?>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Anschrift:
</td>
<td>
<?= $participant->strasse . ' ' . $participant->hausnummer; ?><br />
<?= $participant->plz . ' ' . $participant->ort; ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Stamm:
</td>
<td>
<?= $participant->stamm ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Anreise:
</td>
<td>
<?= \DateTime::createFromFormat('Y-m-d', $participant->anreise)->format('d.m.Y'); ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Abreise:
</td>
<td>
<?= \DateTime::createFromFormat('Y-m-d', $participant->abreise)->format('d.m.Y'); ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
E-Mail:
</td>
<td>
<?= kompass_get_email_link($participant->email_1) . (!kompass_is_fullaged($participant->geburtsdatum) ? ' / ' . kompass_get_email_link($participant->email_2) : '') ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Telefon:
</td>
<td>
<?= kompass_get_telephone_link($participant->telefon_1) .
(!kompass_is_fullaged($participant->geburtsdatum) ? (' / ' . kompass_get_telephone_link($participant->telefon_2) ) : '') ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Foto-Erlaubnis Social Media:
</td>
<td>
<?= $participant->foto_socialmedia ? 'Ja' : 'Nein' ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Foto-Erlaubnis Printartikel:
</td>
<td>
<?= $participant->foto_print ? 'Ja' : 'Nein' ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Foto-Erlaubnis Webseiten:
</td>
<td>
<?= $participant->foto_webseite ? 'Ja' : 'Nein' ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Foto-Erlaubnis Partnermailing:
</td>
<td>
<?= $participant->foto_partner ? 'Ja' : 'Nein' ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Foto-Erlaubnis Intern / Archiv:
</td>
<td>
<?= $participant->foto_intern ? 'Ja' : 'Nein' ?>
</td>
</tr>
</table>
</div>

View File

@ -0,0 +1,118 @@
<div>
<table style="width:100%;">
<tr style="vertical-align: top;">
<td style="width: 200px;">
Volljährig:
</td>
<td>
<?= $participant->is_fullaged() ? 'Ja' : 'Nein' ?><br />
<input type="date" name="geburtsdatum" value="<?= $participant->geburtsdatum; ?>" />
(<?= $participant->get_age() ?> Jahre)
</td>
</tr>
<?php if ( !kompass_is_fullaged($participant->geburtsdatum) ) {
?>
<tr>
<td>Name des Ansprechpartners:</td>
<td><input type="text" name="ansprechpartner" style="width: 255px;" value="<?= $participant->ansprechpartner; ?>"></td>
</tr>
<?php
}
?>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Anschrift:
</td>
<td>
<input type="text" name="strasse" style="width: 200px;" value="<?= $participant->strasse; ?>">
<input type="text" name="hausnummer" style="width: 50px;" value="<?= $participant->hausnummer; ?>"> <br />
<input type="text" name="plz" style="width: 50px;" value="<?= $participant->plz; ?>">
<input type="text" name="ort" style="width: 200px;" value="<?= $participant->ort; ?>">
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Stamm:
</td>
<td>
<input type="text" name="stamm" style="width: 100px;" value="<?= $participant->stamm; ?>">
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
E-Mail:
</td>
<td>
<input type="text" name="email_1" style="width: 255px;" value="<?= $participant->email_1; ?>">
<?= !kompass_is_fullaged($participant->geburtsdatum) ? '/ <input type="text" name="email_2" style="width: 255px;" value="' . $participant->email_2 .'">' : ''; ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Telefon:
</td>
<td>
<input type="text" name="telefon_1" style="width: 255px;" value="<?= $participant->telefon_1; ?>">
<?= !kompass_is_fullaged($participant->geburtsdatum) ? '/ <input type="text" name="telefon_2" style="width: 255px;" value="' . $participant->telefon_2 .'">' : ''; ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Foto-Erlaubnis Social Media:
</td>
<td>
<?= $participant->foto_socialmedia ? 'Ja' : 'Nein' ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Foto-Erlaubnis Printartikel:
</td>
<td>
<?= $participant->foto_print ? 'Ja' : 'Nein' ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Foto-Erlaubnis Webseiten:
</td>
<td>
<?= $participant->foto_webseite ? 'Ja' : 'Nein' ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Foto-Erlaubnis Partnermailing:
</td>
<td>
<?= $participant->foto_partner ? 'Ja' : 'Nein' ?>
</td>
</tr>
<tr style="vertical-align: top;">
<td style="width: 200px;">
Foto-Erlaubnis Intern / Archiv:
</td>
<td>
<?= $participant->foto_intern ? 'Ja' : 'Nein' ?>
</td>
</tr>
<tr>
<td><br />
<input class="button" type="submit" value="<?= __('Save', BDP_LV_PLUGIN_SLUG); ?>">
</td>
</tr>
</table>
</div>

View File

@ -0,0 +1,55 @@
<p style="width: 100%; text-align: right">
<input type="text" id="searchInput"
onkeyup="searchTable('gruppe_<?= $gruppen_id; ?>', this)"
placeholder="<?=__('Filter participant', BDP_LV_PLUGIN_SLUG); ?>">
</p>
<table class="wp-list-table widefat fixed striped table-view-list participant_group" id="gruppe_<?= $gruppen_id; ?>">
<thead>
<tr>
<th style="width: 100px;" scope="col" class="manage-column column-name"><?= __('Name', BDP_LV_PLUGIN_SLUG); ?></th>
<th class="manage-column column-name"><?= __('Presence days', BDP_LV_PLUGIN_SLUG); ?></th>
<th class="manage-column column-name"><?= __('Tribe', BDP_LV_PLUGIN_SLUG); ?></th>
<th class="manage-column column-name"><?= __('Amount', BDP_LV_PLUGIN_SLUG); ?></th>
<th class="manage-column column-name"><?= __('Email', BDP_LV_PLUGIN_SLUG); ?></th>
<th class="manage-column column-name"><?= __('Telephone', BDP_LV_PLUGIN_SLUG); ?></th>
<th class="manage-column column-name"><?= __('Actions', BDP_LV_PLUGIN_SLUG); ?></th>
</tr>
</thead>
<tbody>
<?php
foreach ($group as $participant) {
?>
<tr>
<td>
<a href="#" onclick="kompass_load_participant_data('<?= $participant->id ?>');"><?= $participant->vorname; ?>
<?= $participant->nachname . ($participant->pfadiname != '' ? ' (' . $participant->pfadiname . ')' : '')?></a><br />
<?= kompass_get_age($participant->geburtsdatum); ?> Jahre
</td>
<td>
<?= \DateTime::createFromFormat('Y-m-d', $participant->anreise)->format('d.m.Y') ;?> -
<?= \DateTime::createFromFormat('Y-m-d', $participant->abreise)->format('d.m.Y') ;?>
</td>
<td><?= $participant->stamm ?></td>
<td style="<?= $participant->beitrag_bezahlt !== $participant->beitrag ? 'background-color: #f8c8c6; color: #ff0000;' : '' ?>"
><?= $participant->beitrag_bezahlt ?> Euro / <?= $participant->beitrag ?> Euro</td>
<td><?= $participant->email_1 ?><br /><?= $participant->email_2 ?></td>
<td>
<?php kompass_print_telephone_link($participant->telefon_1); ?>
<br />
<?php kompass_print_telephone_link($participant->telefon_2); ?></td>
<td>
<a href="<?= $admin_link ?>kompass_print_participant_mail_form&participant-id=<?= $participant->id; ?>">Email senden an</a><br />
<a href="<?= $admin_link ?>show-participant&participant=<?= $participant->id ?>">Bearbeiten</a><br />
<a href="#" style="color: #72b752" onclick="kompass_participant_update_amount('<?= $participant->beitrag; ?>','<?= $participant->vorname . ' ' . $participant->nachname ?>', <?= $participant->id ?>);">Zahlungseingang </a><br />
<a href="#" style="color: #ff0000;" onclick="kompass_participant_confirm_delete('<?= $participant->vorname . ' ' . $participant->nachname ?>', <?= $participant->id ?>);">Abmelden</a>
</td>
</tr>
<?php
}
?>
</tbody>
</table>

View File

@ -0,0 +1,176 @@
<div class="wrap">
<h1 class="wp-heading-inline">
<?= __('Event-Overview', BDP_LV_PLUGIN_SLUG); ?> - <?= $event->event_name ?></h1>
<hr class="wp-header-end">
<?= kompass_print_event_control_header($event_id, $active_tab); ?>
<div class="tab-content">
<?php
$group_name = ['participant' => 'Teili', 'volunteer' => 'Teami', 'other' => 'Sonstige'];
$admin_link = 'admin.php?page=kompass-events&action=';
switch ($active_tab) {
case 'tab1':
foreach ($event->groups as $group_int_name => $group) {
$gruppen_id = $group_int_name;
if ( count( $group ) === 0 ) {
continue;
}
$total_amount = 0;
foreach ($group as $item ) {
$total_amount += $item->beitrag - $item->beitrag_bezahlt;
}
$total_amount = number_format($total_amount,2,',');
echo '<h3>' . $group_name[$group_int_name] . ' (' . count( $group ) . ')</h3>';
echo '<h4>' . __('Missing amount') . ': ' .$total_amount . ' Euro</h4>';
echo '<a href="'. $admin_link . 'send-mail-to-group&event-id=' . $event->id . '&group=' . $group_int_name . '" class="button">Rundmail an alle ' . $group_name[$group_int_name] . '</a>';
include dirname( __FILE__ ) . '/list-by-groups.php';
}
break;
case 'tab2':
foreach ($event->tribes as $tribe => $tmp_group) {
$gruppen_id = $tribe;
if ( count( $tmp_group ) === 0 ) {
continue;
}
$count_underaged = 0;
$count_fullaged = 0;
$total_amount = 0;
foreach ($tmp_group as $item ) {
$total_amount += $item->beitrag - $item->beitrag_bezahlt;
if (kompass_is_fullaged($item->geburtsdatum)) {
$count_fullaged++;
} else {
$count_underaged++;
}
}
$total_amount = number_format($total_amount,2,',');
$group = new stdClass();
$group = $tmp_group;
echo '<h3>' . $tribe . ' (' . $count_underaged . ' WÖs / Pfadi // ' . $count_fullaged . ' RRs)</h3>';
echo '<h4>' . __('Missing amount') . ': ' .$total_amount . ' Euro</h4>';
echo '<a href="'. $admin_link . 'send-mail-to-local-group&event-id=' . $event->id . '&group=' . $tribe . '" class="button">Rundmail an alle vom Stamm ' . $tribe . '</a>';
include dirname( __FILE__ ) . '/list-by-groups.php';
}
break;
}
$admin_link = 'admin.php?page=kompass-events&action=';
?>
</div><br /><br />
<a href="#" onclick="kompass_load_ajax_nw('EventParticipants', 'print_signup_data', 'event-id=<?= $event->id; ?>');" class="button">Teili-Liste als PDF</a>
<a href="#" onclick="kompass_load_ajax_nw('EventParticipants', 'print_photo_data', 'event-id=<?= $event->id; ?>');" class="button">Foto-Erlaubnis</a>
<a href="#" onclick="kompass_load_ajax_nw('EventParticipants', 'print_drink_alcoholic_data', 'event-id=<?= $event->id; ?>');" class="button">Getränkeliste-Liste (alkoholisch) als PDF</a>
<a href="#" onclick="kompass_load_ajax_nw('EventParticipants', 'print_drink_data', 'event-id=<?= $event->id; ?>');" class="button">Getränkeliste-Liste (alkoholfrei) als PDF</a>
<a href="#" onclick="kompass_load_ajax_nw('EventParticipants', 'print_kitchen_data', 'event-id=<?= $event->id; ?>');" class="button">Küchenliste</a>
<a href="#" onclick="kompass_load_ajax_nw('EventParticipants', 'print_kitchen_allergies_data', 'event-id=<?= $event->id; ?>');" class="button">Küchenliste (Allergien)</a>
<a href="#" onclick="kompass_load_ajax_nw('EventParticipants', 'print_medical_data', 'event-id=<?= $event->id; ?>');" class="button">Sani-Liste</a>
<a href="<?= $admin_link . 'send-mail-to-all&event-id=' . $event->id ?>" class="button">Rundmail an alle</a>
</div>
<div class="overlay" id="kompasss_delete_participant" onclick="document.getElementById('kompasss_delete_participant').style.display='none';">
<div class="overlay-content">
<h2>Teili abmelden</h2>
<form method="post" action="<?= $admin_link; ?>delete-participant">
<p>Bist du sicher, dass du den Teili <span style="font-weight: bold;" id="confirm-name"></span> wirklich abmelden möchtest?</p>
<b>Die Anmeldedaten werden gelöscht, und der Vorgang kann nicht rückgängig gemacht werden.</b>
<input type="hidden" id="confirm-participant-id" name="participant-id"><br><br>
<input type="submit" value="Ja, abmelden" class="button-primary" style="background-color: #d79494 !important;">
<input type="button" value="Abbrechen" onclick="document.getElementById('kompasss_delete_participant').style.display='none';" class="button">
</form>
</div>
</div>
<div class="overlay" id="kompasss_update_amount" onclick="document.getElementById('kompasss_update_amount').style.display='none';">
<div class="overlay-content">
<h2>Zahlungseingang buchen</h2>
<form method="post" action="<?= $admin_link; ?>update-participant-amount">
<p>Bitte gib den Gesamtbetrag ein, den <span style="font-weight: bold;" id="name"></span> bisher für die Veranstaltung gezahlt hat:</p>
<input type="text" name="beitrag_bezahlt" id="beitrag_bezahlt" /> Euro
<input type="hidden" id="payment-participant-id" name="participant-id"><br><br>
<input type="submit" value="Speichern" class="button-primary" style="background-color: #d79494 !important;">
<input type="button" value="Abbrechen" onclick="document.getElementById('kompasss_update_amount').style.display='none';" class="button">
</form>
</div>
</div>
<div class="overlay" id="kompasss_participant_details" onclick="document.getElementById('kompasss_participant_details').style.display='none';">
<div class="overlay-content">
<div id="kompass_participant_data"></div>
</div>
</div>
<script>
function kompass_load_participant_data(data_id) {
kompass_load_ajax_div('EventParticipants', 'kompass_print_participant_summary', 'kompass_participant_data', 'participant-id=' + data_id)
document.getElementById('kompasss_participant_details').style.display = 'block';
}
// JavaScript, um das Overlay zu öffnen und das Formular zu übermitteln
function kompass_participant_confirm_delete(data_name, data_id) {
var name = data_name;
var id = data_id;
document.getElementById('confirm-name').textContent = name;
document.getElementById('confirm-participant-id').value = id;
document.getElementById('kompasss_delete_participant').style.display = 'block';
}
function kompass_send_email_to_participant(participant_id) {
kompass_load_ajax_div('EventParticipants', 'kompass_print_participant_mail_form', 'kompass_participant_data', 'participant-id=' + participant_id)
document.getElementById('kompasss_participant_details').style.display = 'block';
}
function kompass_participant_update_amount(data_amount, data_name, data_id) {
var name = data_name;
var id = data_id;
document.getElementById('beitrag_bezahlt').value = data_amount;
document.getElementById('name').textContent = name;
document.getElementById('payment-participant-id').value = id;
document.getElementById('kompasss_update_amount').style.display = 'block';
}
</script>
<style>
.overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 999;
}
.overlay-content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: white;
padding: 20px;
border-radius: 5px;
}
@media screen and (max-width: 700px) {
.participant_group thead th:nth-child(3),
.participant_group thead th:nth-child(5),
.participant_group thead th:nth-child(4),
.participant_group td:nth-child(5),
.participant_group td:nth-child(3),
.participant_group td:nth-child(4) {
display: none !important;
}
}
</style>

View File

@ -0,0 +1,58 @@
<div style="display: inline-block; vertical-align: top; width: 40%;">
<table style="width: 100%;">
<tr style="vertical-align: top;">
<td>
Anreise:
</td>
<td>
<input type="date" name="anreise" value="<?= $participant->anreise; ?>" required>
<select name="anreise_essen" style="width: 50%;">
<option <?= $participant->anreise_essen == 1 ? 'selected' : '' ?> value="1">Vor dem Abendessen</option>
<option <?= $participant->anreise_essen == 2 ? 'selected' : '' ?> value="2">Vor dem Mittagessen</option>
<option <?= $participant->anreise_essen == 3 ? 'selected' : '' ?> value="3">Vor dem Frühstück</option>
<option <?= $participant->anreise_essen == 4 ? 'selected' : '' ?> value="4">Zur Abendrunde / Kein Essen am Anreisetag</option>
</select>
</td>
</tr>
<tr style="vertical-align: top;">
<td>
Abreise:
</td>
<td>
<input type="date" name="abreise" value="<?= $participant->abreise; ?>" required>
<select name="abreise_essen" style="width:50%;">
<option <?= $participant->abreise_essen == 1 ? 'selected' : '' ?> value="1">Nach dem Frühstück</option>
<option <?= $participant->abreise_essen == 2 ? 'selected' : '' ?> value="2">Nach dem Mittagessen</option>
<option <?= $participant->abreise_essen == 3 ? 'selected' : '' ?> value="3">Nach dem Abendessen</option>
<option <?= $participant->abreise_essen == 4 ? 'selected' : '' ?> value="4">ganz am Morgen / Kein Essen am Abreisetag</option>
</select>
</td>
</tr>
<tr style="vertical-align: top;">
<td>
Teiligruppe:
</td>
<td>
<select name="teilnahme" style="width:100%;">
<?php
foreach (['participant' => 'Teili', 'volunteer' => 'Teami', 'other' => 'Sontige'] as $group_name => $possible_group) {
echo '<option value="' . $group_name . '"' . ($participant->teilnahme == $group_name ? 'selected' : '') . '>' . $possible_group .'</option>';
}
?>
</select>
</td>
</tr>
<tr style="vertical-align: top;">
<td>
Beitrag:
</td>
<td>
<input type="text" name="beitrag_bezahlt" value="<?= $participant->beitrag_bezahlt; ?>" style="width:75px;"> Euro /
<input type="text" name="beitrag" value="<?= $participant->beitrag; ?>" style="width:75px;"> Euro
</td>
</tr>
</table>
</div>