dev #1
@@ -329,7 +329,6 @@ def toggle_device(mac):
|
|||||||
flash(f"Gerät '{device['name']}' wurde {status_text}.")
|
flash(f"Gerät '{device['name']}' wurde {status_text}.")
|
||||||
return redirect(url_for('devices'))
|
return redirect(url_for('devices'))
|
||||||
|
|
||||||
|
|
||||||
@app.route('/switches', methods=['GET', 'POST'])
|
@app.route('/switches', methods=['GET', 'POST'])
|
||||||
@login_required
|
@login_required
|
||||||
def switches():
|
def switches():
|
||||||
@@ -373,20 +372,27 @@ def switches():
|
|||||||
except sqlite3.IntegrityError:
|
except sqlite3.IntegrityError:
|
||||||
flash("Hostname existiert bereits oder Eingabefehler!")
|
flash("Hostname existiert bereits oder Eingabefehler!")
|
||||||
|
|
||||||
# Inline-Delete
|
@app.route('/switches/delete/<int:id>', methods=['POST'])
|
||||||
if request.method == 'POST' and 'delete_switch' in request.form:
|
def delete_switch(id):
|
||||||
if not current_user.is_admin:
|
switch = Switch.query.get_or_404(id)
|
||||||
flash("Zugriff verweigert!")
|
# Prüfen, ob noch Geräte diesem Switch zugeordnet sind
|
||||||
return redirect(url_for('switches'))
|
assigned_devices = Device.query.filter_by(switch_hostname=switch.hostname).all()
|
||||||
del_hostname = request.form['delete_switch']
|
|
||||||
conn.execute("UPDATE devices SET switch_hostname=NULL WHERE switch_hostname=?", (del_hostname,))
|
|
||||||
conn.execute("DELETE FROM switches WHERE hostname=?", (del_hostname,))
|
|
||||||
conn.commit()
|
|
||||||
flash(f"Switch {del_hostname} gelöscht.")
|
|
||||||
|
|
||||||
switches = conn.execute("SELECT hostname, ip, username FROM switches").fetchall()
|
if assigned_devices:
|
||||||
conn.close()
|
# Liste der Gerätenamen
|
||||||
return render_template('switche.html', switches=switches)
|
device_names = [d.hostname for d in assigned_devices]
|
||||||
|
flash(f"Folgende Geräte sind noch dem Switch '{switch.hostname}' zugewiesen: {', '.join(device_names)}", "danger")
|
||||||
|
return redirect(url_for('switches'))
|
||||||
|
|
||||||
|
try:
|
||||||
|
db.session.delete(switch)
|
||||||
|
db.session.commit()
|
||||||
|
flash(f"Switch '{switch.hostname}' wurde 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'))
|
||||||
|
|
||||||
@app.route("/get_log")
|
@app.route("/get_log")
|
||||||
@login_required
|
@login_required
|
||||||
|
|||||||
Reference in New Issue
Block a user