feat(auth): required login barrier with 1-click demo access and session management
This commit is contained in:
+23
-14
@@ -13,7 +13,7 @@
|
||||
Bestellschluss: <strong>{{ event.deadline.strftime('%d.%m.%Y um %H:%M Uhr') }}</strong>
|
||||
</p>
|
||||
<div class="banner-stats">
|
||||
<span>👥 Bereits <strong>{{ order_count }}</strong> Bestellungen eingegangen</span>
|
||||
<span>👥 Bereits <strong>{{ order_count }}</strong> Bestellungen von Kollegen eingegangen</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
<h2>1. Brotzeit auswählen</h2>
|
||||
<div class="product-list">
|
||||
{% for product in products %}
|
||||
{% set current_qty = user_items.get(product.id, 0) %}
|
||||
<div class="product-card" data-price="{{ product.price }}" data-id="{{ product.id }}">
|
||||
<div class="product-info">
|
||||
<h3>{{ product.name }}</h3>
|
||||
@@ -35,7 +36,7 @@
|
||||
</div>
|
||||
<div class="quantity-control">
|
||||
<button type="button" class="qty-btn" onclick="changeQty({{ product.id }}, -1)">-</button>
|
||||
<input type="number" id="qty_{{ product.id }}" name="qty_{{ product.id }}" value="0" min="0" max="50" class="qty-input" onchange="updateTotal()">
|
||||
<input type="number" id="qty_{{ product.id }}" name="qty_{{ product.id }}" value="{{ current_qty }}" min="0" max="50" class="qty-input" onchange="updateTotal()">
|
||||
<button type="button" class="qty-btn" onclick="changeQty({{ product.id }}, 1)">+</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -46,19 +47,21 @@
|
||||
<!-- Right: User Details & Summary -->
|
||||
<div class="summary-section">
|
||||
<div class="summary-card">
|
||||
<h2>2. Deine Angaben</h2>
|
||||
<div class="input-group">
|
||||
<label for="first_name">Vorname</label>
|
||||
<input type="text" id="first_name" name="first_name" required placeholder="z. B. Maxi">
|
||||
<h2>2. Zusammenfassung</h2>
|
||||
|
||||
<div class="logged-in-badge">
|
||||
<div class="user-avatar">👤</div>
|
||||
<div>
|
||||
<strong>{{ current_user.first_name }} {{ current_user.last_name }}</strong><br>
|
||||
<small class="text-muted">{{ current_user.email }}</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label for="last_name">Nachname</label>
|
||||
<input type="text" id="last_name" name="last_name" required placeholder="z. B. Muster">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label for="email">E-Mail-Adresse</label>
|
||||
<input type="email" id="email" name="email" required placeholder="maxi@beispiel.de">
|
||||
|
||||
{% if existing_order %}
|
||||
<div class="notice-box">
|
||||
ℹ️ Du hast bereits für diese Runde bestellt. Du kannst deine Mengen hier anpassen und aktualisieren.
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<hr class="divider">
|
||||
|
||||
@@ -68,9 +71,13 @@
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn-submit" id="submitBtn">
|
||||
{% if existing_order %}
|
||||
🥨 Bestellung aktualisieren
|
||||
{% else %}
|
||||
🥨 Bestellung verbindlich abschicken
|
||||
{% endif %}
|
||||
</button>
|
||||
<small class="form-hint">Du kannst deine Bestellung bis zum Stichtag jederzeit mit derselben E-Mail-Adresse ändern.</small>
|
||||
<small class="form-hint">Du kannst deine Bestellung bis zum Stichtag jederzeit hier im Portal anpassen.</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -81,7 +88,9 @@
|
||||
<div class="empty-icon">🏖️</div>
|
||||
<h2>Aktuell keine offene Bestellrunde</h2>
|
||||
<p>Für dieses Team ist im Moment keine Brotzeit geplant.</p>
|
||||
{% if current_user.role == 'admin' %}
|
||||
<a href="/admin" class="btn-primary">Neue Bestellrunde im Cockpit anlegen</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user