feat: Compact 1-page print view, event lifecycle & conflict warnings, bulk email invites, guest pass link and post-event guest cleanup
This commit is contained in:
@@ -3,6 +3,20 @@
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
|
||||
<!-- Multi-Event Picker (wenn mehrere anstehende Runden offen sind) -->
|
||||
{% if open_events|length > 1 %}
|
||||
<div class="multi-event-banner">
|
||||
<span>📅 Weitere offene Termine:</span>
|
||||
<div class="multi-event-chips">
|
||||
{% for ev in open_events %}
|
||||
<a href="/?event_id={{ ev.id }}{% if is_guest_mode %}&guest=1{% endif %}" class="mini-chip {% if event and event.id == ev.id %}active{% endif %}">
|
||||
{{ ev.event_date.strftime('%d.%m.') }} – {{ ev.title }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<!-- Header Banner -->
|
||||
{% if event %}
|
||||
<div class="banner {% if is_closed %}banner-closed{% endif %}">
|
||||
@@ -76,9 +90,9 @@
|
||||
<!-- Right: User Details & Summary -->
|
||||
<div class="summary-section">
|
||||
<div class="summary-card">
|
||||
<h2>2. Bestellung & Angaben</h2>
|
||||
<h2>2. Angaben & Übersicht</h2>
|
||||
|
||||
{% if current_user %}
|
||||
{% if current_user and not is_guest_mode %}
|
||||
<div class="logged-in-badge">
|
||||
<div class="user-avatar">👤</div>
|
||||
<div>
|
||||
@@ -92,18 +106,19 @@
|
||||
<!-- Gast Angaben -->
|
||||
<div class="guest-order-box">
|
||||
<div class="privacy-note" style="margin-bottom: 12px;">
|
||||
👋 <strong>Gast-Bestellung:</strong> Du bestellst ohne dauerhaftes Benutzerkonto für diesen Termin mit.
|
||||
👋 <strong>Gast- & Dienstleister-Bestellung:</strong><br>
|
||||
Du bestellst ohne dauerhaftes Konto für diesen Termin ({{ event.event_date.strftime('%d.%m.') }}) mit.
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label for="g_first_name">Dein Vorname *</label>
|
||||
<input type="text" id="g_first_name" name="guest_first_name" required placeholder="z. B. Christian">
|
||||
<label for="g_first_name">Vorname / Name *</label>
|
||||
<input type="text" id="g_first_name" name="guest_first_name" required placeholder="z. B. Tobias">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label for="g_last_name">Nachname (optional)</label>
|
||||
<input type="text" id="g_last_name" name="guest_last_name" placeholder="z. B. Bauer">
|
||||
<label for="g_last_name">Firma / Abteilung (optional)</label>
|
||||
<input type="text" id="g_last_name" name="guest_last_name" placeholder="z. B. IT-Service Müller">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label for="g_email">E-Mail (optional für Bestätigung)</label>
|
||||
<label for="g_email">E-Mail (optional)</label>
|
||||
<input type="email" id="g_email" name="guest_email" placeholder="name@firma.de">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user