From 192a08b99c0e0cc9a9e3214c85896b3533347305 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 16 Aug 2026 13:40:57 +0000 Subject: [PATCH] =?UTF-8?q?Corriger=20les=20=C3=A9quipements=20multiples?= =?UTF-8?q?=20des=20interpr=C3=A9tations=20ENT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_new/core/routes/admin.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app_new/core/routes/admin.py b/app_new/core/routes/admin.py index 83920e8..15018f6 100644 --- a/app_new/core/routes/admin.py +++ b/app_new/core/routes/admin.py @@ -676,6 +676,14 @@ Reponds en JSON avec: content = content[:json_end+1] analysis = json.loads(content) if content else {} + + # Le modèle peut renvoyer plusieurs équipements sous forme de + # tableau alors que la colonne est volontairement textuelle. + equipment = analysis.get('equipment', '') + if isinstance(equipment, (list, tuple)): + equipment = ', '.join(str(item) for item in equipment if item) + elif equipment is None: + equipment = '' # Supprimer l'ancienne interpretation si elle existe EntMessageInterpretation.query.filter_by(message_id=msg_id).delete() @@ -687,7 +695,7 @@ Reponds en JSON avec: analysis_action=analysis.get('action', 'inform'), analysis_priority=analysis.get('priority', 'medium'), analysis_summary=analysis.get('summary', ''), - suggested_equipment=analysis.get('equipment', ''), + suggested_equipment=str(equipment), suggested_description=analysis.get('location', ''), status='pending', ) @@ -697,6 +705,7 @@ Reponds en JSON avec: else: flash(f'Erreur API: {response.status_code}', 'danger') except Exception as e: + db.session.rollback() flash(f'Erreur interpretation: {str(e)[:200]}', 'danger') return redirect(url_for('admin.data_management', page=request.args.get('page', 1)))