srv/poe_manager/app.py aktualisiert

This commit is contained in:
2025-10-07 23:12:32 +02:00
parent a644de01ad
commit 0e80925a11

View File

@@ -376,26 +376,21 @@ def switches():
conn.close() conn.close()
return render_template('switche.html', switches=switches) return render_template('switche.html', switches=switches)
@app.route('/switches/delete/<int:id>', methods=['POST']) @app.route('/switches/delete/<hostname>', methods=['POST'])
def delete_switch(id): @login_required
switch = Switch.query.get_or_404(id) def delete_switch(hostname):
# Prüfen, ob noch Geräte diesem Switch zugeordnet sind conn = get_db_connection()
assigned_devices = Device.query.filter_by(switch_hostname=switch.hostname).all() devices = conn.execute("SELECT name FROM devices WHERE switch_hostname=?", (hostname,)).fetchall()
if devices:
if assigned_devices: device_names = [d['name'] for d in devices]
# Liste der Gerätenamen flash(f"Folgende Geräte sind noch dem Switch '{hostname}' zugewiesen: {', '.join(device_names)}", "danger")
device_names = [d.hostname for d in assigned_devices] conn.close()
flash(f"Folgende Geräte sind noch dem Switch '{switch.hostname}' zugewiesen: {', '.join(device_names)}", "danger")
return redirect(url_for('switches')) return redirect(url_for('switches'))
try: conn.execute("DELETE FROM switches WHERE hostname=?", (hostname,))
db.session.delete(switch) conn.commit()
db.session.commit() conn.close()
flash(f"Switch '{switch.hostname}' wurde gelöscht.", "success") flash(f"Switch '{hostname}' gelöscht.", "success")
except Exception as e:
db.session.rollback()
flash(f"Fehler beim Löschen des Switches: {e}", "danger")
return redirect(url_for('switches')) return redirect(url_for('switches'))
@app.route("/get_log") @app.route("/get_log")