diff --git a/srv/poe_manager/app.py b/srv/poe_manager/app.py index 611746a..8d5a61f 100644 --- a/srv/poe_manager/app.py +++ b/srv/poe_manager/app.py @@ -166,18 +166,18 @@ def devices(): flash("Alle Felder müssen ausgefüllt sein!") return redirect(url_for('devices')) - # Prüfen auf doppelte MAC - mac_device = conn.execute("SELECT name FROM devices WHERE mac=?", (mac,)).fetchone() - if mac_device: - flash(f"MAC-Adresse existiert bereits für Gerät '{mac_device['name']}'!") - return redirect(url_for('devices')) - # Prüfen auf doppelte IP ip_device = conn.execute("SELECT name FROM devices WHERE rpi_ip=?", (rpi_ip,)).fetchone() if ip_device: flash(f"IP-Adresse existiert bereits für Gerät '{ip_device['name']}'!") return redirect(url_for('devices')) + # Prüfen auf doppelte MAC + mac_device = conn.execute("SELECT name FROM devices WHERE mac=?", (mac,)).fetchone() + if mac_device: + flash(f"MAC-Adresse existiert bereits für Gerät '{mac_device['name']}'!") + return redirect(url_for('devices')) + try: conn.execute(""" INSERT INTO devices (mac, rpi_ip, port, name, switch_hostname, is_active) @@ -208,18 +208,18 @@ def devices(): flash("Alle Felder müssen ausgefüllt sein!") return redirect(url_for('devices')) - # Prüfen auf doppelte MAC außer das aktuelle Gerät - mac_device = conn.execute("SELECT name FROM devices WHERE mac=? AND mac<>?", (mac, old_mac)).fetchone() - if mac_device: - flash(f"MAC-Adresse existiert bereits für Gerät '{mac_device['name']}'!") - return redirect(url_for('devices')) - # Prüfen auf doppelte IP außer das aktuelle Gerät ip_device = conn.execute("SELECT name FROM devices WHERE rpi_ip=? AND mac<>?", (rpi_ip, old_mac)).fetchone() if ip_device: flash(f"IP-Adresse existiert bereits für Gerät '{ip_device['name']}'!") return redirect(url_for('devices')) + # Prüfen auf doppelte MAC außer das aktuelle Gerät + mac_device = conn.execute("SELECT name FROM devices WHERE mac=? AND mac<>?", (mac, old_mac)).fetchone() + if mac_device: + flash(f"MAC-Adresse existiert bereits für Gerät '{mac_device['name']}'!") + return redirect(url_for('devices')) + try: conn.execute(""" UPDATE devices