From 71ebfe72974e4b77c89925c3b0f9e9ddea4da7fe Mon Sep 17 00:00:00 2001 From: Till Tomczak Date: Thu, 29 May 2025 19:33:11 +0200 Subject: [PATCH] feat: Optimierung der Einstellungen speichern und Fehlerbehandlung verbessern --- backend/app/app.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/backend/app/app.py b/backend/app/app.py index 145c43ab..d1753f40 100644 --- a/backend/app/app.py +++ b/backend/app/app.py @@ -5124,6 +5124,7 @@ def perform_batch_operation(): @login_required def optimization_settings(): """Optimierungs-Einstellungen abrufen und speichern""" + db_session = get_db_session() if request.method == 'GET': try: # Standard-Einstellungen oder benutzerdefinierte laden @@ -5156,7 +5157,6 @@ def optimization_settings(): 'success': False, 'error': 'Fehler beim Laden der Einstellungen' }), 500 - elif request.method == 'POST': try: settings = request.get_json() @@ -5168,8 +5168,21 @@ def optimization_settings(): 'error': 'Ungültige Optimierungs-Einstellungen' }), 400 - # Hier könnten die Einstellungen in der Datenbank gespeichert werden - # Momentan werden sie nur im Browser-localStorage gespeichert + # Einstellungen in der Session speichern + user_settings = session.get('user_settings', {}) + if 'optimization' not in user_settings: + user_settings['optimization'] = {} + + # Aktualisiere die Optimierungseinstellungen + user_settings['optimization'].update(settings) + session['user_settings'] = user_settings + + # Einstellungen in der Datenbank speichern, wenn möglich + if hasattr(current_user, 'settings'): + import json + current_user.settings = json.dumps(user_settings) + current_user.updated_at = datetime.now() + db_session.commit() app_logger.info(f"Optimierungs-Einstellungen für Benutzer {current_user.id} aktualisiert") @@ -5179,10 +5192,11 @@ def optimization_settings(): }) except Exception as e: + db_session.rollback() app_logger.error(f"Fehler beim Speichern der Optimierungs-Einstellungen: {str(e)}") return jsonify({ 'success': False, - 'error': 'Fehler beim Speichern der Einstellungen' + 'error': f'Fehler beim Speichern der Einstellungen: {str(e)}' }), 500 # ===== OPTIMIERUNGS-ALGORITHMUS-FUNKTIONEN =====