feat: Willkommensseite ohne Login erreichbar
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
24
app.py
24
app.py
@@ -942,7 +942,6 @@ def mfa_disable():
|
||||
# -------------------------------------------------
|
||||
@app.route("/willkommen", methods=["GET", "POST"])
|
||||
@app.route("/customer", methods=["GET", "POST"])
|
||||
@login_required
|
||||
def add_customer():
|
||||
"""
|
||||
Formular für die Willkommensseite:
|
||||
@@ -960,14 +959,21 @@ def add_customer():
|
||||
logo_hinweise = []
|
||||
site = request.args.get("site") or request.form.get("site") or ""
|
||||
|
||||
# Fallback auf ersten für den User zugänglichen Standort
|
||||
if not site:
|
||||
config = load_config()
|
||||
sites = get_accessible_sites(config, current_user)
|
||||
site = sites[0] if sites else ""
|
||||
# Diese Seite ist bewusst ohne Login erreichbar: Am Empfang soll eine
|
||||
# Begruessung auch ohne Benutzerkonto erstellt werden koennen. Ein
|
||||
# angemeldeter User sieht weiterhin nur seine freigegebenen Standorte.
|
||||
config = load_config()
|
||||
if current_user.is_authenticated:
|
||||
erlaubte_sites = get_accessible_sites(config, current_user)
|
||||
else:
|
||||
erlaubte_sites = get_site_list(config)
|
||||
|
||||
# Prüfen, ob der User Zugriff auf den Standort hat
|
||||
if site and not current_user.can_access_site(site):
|
||||
# Fallback auf den ersten zugaenglichen Standort
|
||||
if not site:
|
||||
site = erlaubte_sites[0] if erlaubte_sites else ""
|
||||
|
||||
# Zugriff auf den Standort pruefen
|
||||
if site and site not in erlaubte_sites:
|
||||
abort(403)
|
||||
|
||||
remember_site(site)
|
||||
@@ -1072,7 +1078,7 @@ def add_customer():
|
||||
"contacts": list(contacts)
|
||||
}
|
||||
save_config(config)
|
||||
add_history_entry("customer_added", f"Kunden ({', '.join(valid_names)}) zur Willkommensseite an Standort '{site}' hinzugefügt (Screens: {', '.join(targets)})", current_user.email)
|
||||
add_history_entry("customer_added", f"Kunden ({', '.join(valid_names)}) zur Willkommensseite an Standort '{site}' hinzugefügt (Screens: {', '.join(targets)})", current_user.email if current_user.is_authenticated else "nicht angemeldet")
|
||||
success = (f"✅ Willkommensseite mit {len(valid_names)} Kunden erstellt "
|
||||
f"– angezeigt auf: {', '.join(targets)}")
|
||||
if valid_until:
|
||||
|
||||
Reference in New Issue
Block a user