diff --git a/app.py b/app.py index 46a128d..695625f 100644 --- a/app.py +++ b/app.py @@ -2774,6 +2774,69 @@ def journal_clear(): return redirect(url_for('settings')) +@app.route('/team') +def team(): + """Zeigt alle Team-Members an.""" + team_members = get_team_members(active_only=False) + return render_template('team.html', team_members=team_members, agents=AGENTS) + + +@app.route('/team/add', methods=['POST']) +def team_add(): + """Fügt ein neues Team-Mitglied hinzu.""" + 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 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') + + success = add_team_member(name, role, responsibilities, email, telegram_id=chat_id) + + if success: + flash(f'✅ Team-Member "{name}" erfolgreich hinzugefügt!', 'success') + logger.info(f"[Team] Neues Mitglied hinzugefügt: {name} ({email})") + else: + flash(f'❌ Team-Member konnte nicht hinzugefügt werden (Email evtl. bereits vorhanden).', 'danger') + + return redirect(url_for('team')) + + +@app.route('/team//activate', methods=['POST']) +def team_activate(member_id): + """Aktiviert ein Team-Mitglied.""" + con = sqlite3.connect(EMAIL_JOURNAL_DB) + con.execute("UPDATE team_members SET active = 1 WHERE id = ?", (member_id,)) + con.commit() + con.close() + + logger.info(f"[Team] Member #{member_id} aktiviert") + return jsonify({'success': True}) + + +@app.route('/team//deactivate', methods=['POST']) +def team_deactivate(member_id): + """Deaktiviert ein Team-Mitglied.""" + con = sqlite3.connect(EMAIL_JOURNAL_DB) + con.execute("UPDATE team_members SET active = 0 WHERE id = ?", (member_id,)) + con.commit() + con.close() + + logger.info(f"[Team] Member #{member_id} deaktiviert") + return jsonify({'success': True}) + + @app.route('/api/telegram-qr') def telegram_qr(): """Generiert QR-Code für Telegram Bot.""" diff --git a/templates/base.html b/templates/base.html index dfaf30a..b97fdd8 100644 --- a/templates/base.html +++ b/templates/base.html @@ -64,6 +64,11 @@ 📋 Log +