dev #1
@@ -148,7 +148,7 @@ def devices():
|
|||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
# -----------------------
|
# -----------------------
|
||||||
# Inline-Add
|
# Gerät hinzufügen
|
||||||
# -----------------------
|
# -----------------------
|
||||||
if 'add_device' in request.form:
|
if 'add_device' in request.form:
|
||||||
if not current_user.is_admin:
|
if not current_user.is_admin:
|
||||||
@@ -166,6 +166,18 @@ def devices():
|
|||||||
flash("Alle Felder müssen ausgefüllt sein!")
|
flash("Alle Felder müssen ausgefüllt sein!")
|
||||||
return redirect(url_for('devices'))
|
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'))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
conn.execute("""
|
conn.execute("""
|
||||||
INSERT INTO devices (mac, rpi_ip, port, name, switch_hostname, is_active)
|
INSERT INTO devices (mac, rpi_ip, port, name, switch_hostname, is_active)
|
||||||
@@ -174,10 +186,10 @@ def devices():
|
|||||||
conn.commit()
|
conn.commit()
|
||||||
flash(f"Gerät {name} hinzugefügt.")
|
flash(f"Gerät {name} hinzugefügt.")
|
||||||
except sqlite3.IntegrityError:
|
except sqlite3.IntegrityError:
|
||||||
flash("MAC existiert bereits oder Eingabefehler!")
|
flash("Fehler beim Hinzufügen des Geräts!")
|
||||||
|
|
||||||
# -----------------------
|
# -----------------------
|
||||||
# Inline-Edit
|
# Gerät bearbeiten
|
||||||
# -----------------------
|
# -----------------------
|
||||||
elif 'edit_device' in request.form:
|
elif 'edit_device' in request.form:
|
||||||
if not current_user.is_admin:
|
if not current_user.is_admin:
|
||||||
@@ -196,6 +208,18 @@ def devices():
|
|||||||
flash("Alle Felder müssen ausgefüllt sein!")
|
flash("Alle Felder müssen ausgefüllt sein!")
|
||||||
return redirect(url_for('devices'))
|
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'))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
conn.execute("""
|
conn.execute("""
|
||||||
UPDATE devices
|
UPDATE devices
|
||||||
@@ -205,10 +229,10 @@ def devices():
|
|||||||
conn.commit()
|
conn.commit()
|
||||||
flash(f"Gerät {name} aktualisiert.")
|
flash(f"Gerät {name} aktualisiert.")
|
||||||
except sqlite3.IntegrityError:
|
except sqlite3.IntegrityError:
|
||||||
flash("MAC existiert bereits oder Eingabefehler!")
|
flash("Fehler beim Aktualisieren des Geräts!")
|
||||||
|
|
||||||
# -----------------------
|
# -----------------------
|
||||||
# Inline-Delete
|
# Gerät löschen
|
||||||
# -----------------------
|
# -----------------------
|
||||||
elif 'delete_device' in request.form:
|
elif 'delete_device' in request.form:
|
||||||
if not current_user.is_admin:
|
if not current_user.is_admin:
|
||||||
|
|||||||
Reference in New Issue
Block a user