fix: Correct url_for endpoint for file deletion routes

Changed all 'files_page' to 'files' in redirect calls:
- delete_agent_file() - 4 occurrences
- delete_project_file() - 4 occurrences

Fixes Internal Server Error (500) when deleting files.
Error was: BuildError: Could not build url for endpoint 'files_page'
This commit is contained in:
pdyde 2026-02-21 14:38:01 +01:00
parent 57a6ffc046
commit 1970abf487

16
app.py
View file

@ -2527,7 +2527,7 @@ def delete_agent_file(agent_key, filename):
"""Löscht eine Datei aus dem Work-Ordner eines Agenten.""" """Löscht eine Datei aus dem Work-Ordner eines Agenten."""
if agent_key not in AGENTS: if agent_key not in AGENTS:
flash('Agent nicht gefunden', 'danger') flash('Agent nicht gefunden', 'danger')
return redirect(url_for('files_page')) return redirect(url_for('files'))
dirs = ensure_agent_structure(agent_key) dirs = ensure_agent_structure(agent_key)
work_dir = dirs['work_dir'] work_dir = dirs['work_dir']
@ -2536,11 +2536,11 @@ def delete_agent_file(agent_key, filename):
# Security: Stelle sicher, dass die Datei im work_dir ist # Security: Stelle sicher, dass die Datei im work_dir ist
if not os.path.abspath(filepath).startswith(os.path.abspath(work_dir)): if not os.path.abspath(filepath).startswith(os.path.abspath(work_dir)):
flash('Zugriff verweigert', 'danger') flash('Zugriff verweigert', 'danger')
return redirect(url_for('files_page')) return redirect(url_for('files'))
if not os.path.isfile(filepath): if not os.path.isfile(filepath):
flash('Datei nicht gefunden', 'warning') flash('Datei nicht gefunden', 'warning')
return redirect(url_for('files_page')) return redirect(url_for('files'))
try: try:
os.remove(filepath) os.remove(filepath)
@ -2548,7 +2548,7 @@ def delete_agent_file(agent_key, filename):
except Exception as e: except Exception as e:
flash(f'Fehler beim Löschen: {str(e)}', 'danger') flash(f'Fehler beim Löschen: {str(e)}', 'danger')
return redirect(url_for('files_page')) return redirect(url_for('files'))
@app.route('/files/email/view/<filename>') @app.route('/files/email/view/<filename>')
@ -2660,16 +2660,16 @@ def delete_project_file(filename):
# Security: stay in base dir # Security: stay in base dir
if os.path.dirname(os.path.abspath(filepath)) != os.path.abspath(base_dir): if os.path.dirname(os.path.abspath(filepath)) != os.path.abspath(base_dir):
flash('Zugriff verweigert', 'danger') flash('Zugriff verweigert', 'danger')
return redirect(url_for('files_page')) return redirect(url_for('files'))
allowed_ext = ('.md', '.txt', '.docx') allowed_ext = ('.md', '.txt', '.docx')
if not filename.lower().endswith(allowed_ext): if not filename.lower().endswith(allowed_ext):
flash('Dateityp nicht unterstützt', 'warning') flash('Dateityp nicht unterstützt', 'warning')
return redirect(url_for('files_page')) return redirect(url_for('files'))
if not os.path.isfile(filepath): if not os.path.isfile(filepath):
flash('Datei nicht gefunden', 'warning') flash('Datei nicht gefunden', 'warning')
return redirect(url_for('files_page')) return redirect(url_for('files'))
try: try:
os.remove(filepath) os.remove(filepath)
@ -2677,7 +2677,7 @@ def delete_project_file(filename):
except Exception as e: except Exception as e:
flash(f'Fehler beim Löschen: {str(e)}', 'danger') flash(f'Fehler beim Löschen: {str(e)}', 'danger')
return redirect(url_for('files_page')) return redirect(url_for('files'))
@app.route('/emails', methods=['GET', 'POST']) @app.route('/emails', methods=['GET', 'POST'])