From ffd2a03e6d879de66e3f8f31d8c06fa3d0b69a7a Mon Sep 17 00:00:00 2001 From: Tim Eertmoed Date: Tue, 7 Oct 2025 17:30:51 +0200 Subject: [PATCH] srv/poe_manager/app.py aktualisiert --- srv/poe_manager/app.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/srv/poe_manager/app.py b/srv/poe_manager/app.py index 4fb13b7..cf76918 100644 --- a/srv/poe_manager/app.py +++ b/srv/poe_manager/app.py @@ -281,6 +281,31 @@ def devices(): conn.close() return render_template('devices.html', devices=devices, switches=switches) +@app.route('/devices/toggle/', methods=['POST']) +@login_required +def toggle_device(mac): + if not current_user.is_admin: + flash("Zugriff verweigert!") + return redirect(url_for('devices')) + + conn = get_db_connection() + device = conn.execute("SELECT is_active, name FROM devices WHERE mac=?", (mac,)).fetchone() + + if not device: + flash("Gerät nicht gefunden!") + conn.close() + return redirect(url_for('devices')) + + new_status = 0 if device['is_active'] else 1 + conn.execute("UPDATE devices SET is_active=? WHERE mac=?", (new_status, mac)) + conn.commit() + conn.close() + + status_text = "deaktiviert" if new_status == 0 else "aktiviert" + flash(f"Gerät '{device['name']}' wurde {status_text}.") + return redirect(url_for('devices')) + + @app.route('/switches', methods=['GET', 'POST']) @login_required def switches():