From 4ca51323912ad593ad9ca507abd45ce965a666cf Mon Sep 17 00:00:00 2001 From: pdyde Date: Sat, 21 Feb 2026 14:22:38 +0100 Subject: [PATCH] feat: Add edit functionality for team members - Edit modal with Bootstrap for inline editing - Update name, email, role, responsibilities, telegram_id - Form validation and error handling - Success/error flash messages - Team member data passed to frontend via JSON --- app.py | 39 ++++++++++++++++++++++++++ templates/team.html | 67 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 105 insertions(+), 1 deletion(-) diff --git a/app.py b/app.py index 695625f..0660bf5 100644 --- a/app.py +++ b/app.py @@ -2837,6 +2837,45 @@ def team_deactivate(member_id): return jsonify({'success': True}) +@app.route('/team/edit', methods=['POST']) +def team_edit(): + """Bearbeitet ein Team-Mitglied.""" + member_id = request.form.get('member_id') + name = request.form.get('name', '').strip() + email = request.form.get('email', '').strip() + role = request.form.get('role', '').strip() + responsibilities = request.form.get('responsibilities', '').strip() + telegram_chat_id = request.form.get('telegram_chat_id', '').strip() + + if not member_id or not name or not email or not role or not responsibilities: + flash('Alle Felder außer Telegram Chat ID sind Pflichtfelder!', 'danger') + return redirect(url_for('team')) + + # Optional: Telegram Chat ID als Integer + chat_id = None + if telegram_chat_id: + try: + chat_id = int(telegram_chat_id) + except ValueError: + flash('Telegram Chat ID muss eine Zahl sein!', 'warning') + chat_id = None + + # Update in Datenbank + con = sqlite3.connect(EMAIL_JOURNAL_DB) + con.execute(""" + UPDATE team_members + SET name = ?, email = ?, role = ?, responsibilities = ?, telegram_id = ? + WHERE id = ? + """, (name, email, role, responsibilities, chat_id, member_id)) + con.commit() + con.close() + + flash(f'✅ Team-Member "{name}" erfolgreich aktualisiert!', 'success') + logger.info(f"[Team] Member #{member_id} aktualisiert: {name} ({email})") + + return redirect(url_for('team')) + + @app.route('/api/telegram-qr') def telegram_qr(): """Generiert QR-Code für Telegram Bot.""" diff --git a/templates/team.html b/templates/team.html index 28f4013..2537183 100644 --- a/templates/team.html +++ b/templates/team.html @@ -121,9 +121,74 @@ + + +