feat: Entferne die alte Drucker-API-Route und aktualisiere die Frontend-Fehlerbehandlung für Druckeroperationen
This commit is contained in:
@@ -1100,68 +1100,7 @@ def delete_user(user_id):
|
||||
flash(f"Fehler beim Löschen des Benutzers: {str(e)}", "error")
|
||||
return redirect(url_for('admin_page', tab='users'))
|
||||
|
||||
@app.route("/api/printers", methods=["POST"])
|
||||
@login_required
|
||||
def create_printer():
|
||||
"""Create a new printer (admin only)"""
|
||||
if not current_user.is_admin:
|
||||
flash("Sie haben keine Berechtigung, um neue Drucker anzulegen.", "error")
|
||||
return redirect(url_for('admin_page', tab='printers'))
|
||||
|
||||
db_session = get_db_session()
|
||||
try:
|
||||
# Statt JSON-Daten die Formulardaten aus dem POST-Request holen
|
||||
name = request.form.get('name')
|
||||
model = request.form.get('model')
|
||||
location = request.form.get('location')
|
||||
mac_address = request.form.get('mac_address')
|
||||
plug_ip = request.form.get('plug_ip')
|
||||
plug_username = request.form.get('plug_username')
|
||||
plug_password = request.form.get('plug_password')
|
||||
|
||||
# Check required fields
|
||||
if not name or not mac_address:
|
||||
db_session.close()
|
||||
flash("Name und MAC-Adresse sind Pflichtfelder.", "error")
|
||||
return redirect(url_for('admin_page', tab='printers'))
|
||||
|
||||
# Check if printer with same MAC already exists
|
||||
existing_printer = db_session.query(Printer).filter(
|
||||
Printer.mac_address == mac_address
|
||||
).first()
|
||||
|
||||
if existing_printer:
|
||||
db_session.close()
|
||||
flash("Ein Drucker mit dieser MAC-Adresse existiert bereits.", "error")
|
||||
return redirect(url_for('admin_page', tab='printers'))
|
||||
|
||||
# Create new printer
|
||||
new_printer = Printer(
|
||||
name=name,
|
||||
model=model or "",
|
||||
location=location or "",
|
||||
mac_address=mac_address,
|
||||
plug_ip=plug_ip or "",
|
||||
plug_username=plug_username or "",
|
||||
plug_password=plug_password or "",
|
||||
active=True
|
||||
)
|
||||
|
||||
db_session.add(new_printer)
|
||||
db_session.commit()
|
||||
|
||||
printer_id = new_printer.id
|
||||
|
||||
db_session.close()
|
||||
app_logger.info(f"New printer created: {new_printer.name} (ID: {printer_id})")
|
||||
flash(f"Drucker {name} wurde erfolgreich angelegt.", "success")
|
||||
return redirect(url_for('admin_page', tab='printers'))
|
||||
except Exception as e:
|
||||
db_session.rollback()
|
||||
db_session.close()
|
||||
app_logger.error(f"Error creating printer: {str(e)}")
|
||||
flash(f"Fehler beim Anlegen des Druckers: {str(e)}", "error")
|
||||
return redirect(url_for('admin_page', tab='printers'))
|
||||
# Diese Route wurde entfernt - verwende stattdessen /api/printers/add für JSON-API
|
||||
|
||||
@app.route("/api/printers/<int:printer_id>", methods=["DELETE"])
|
||||
@login_required
|
||||
|
Reference in New Issue
Block a user