From a76aae3d127c26948d77aa5d992ec6fae86d6849 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Wed, 21 Jan 2026 08:33:59 +0100 Subject: [PATCH] Update falukantService and MessagesDialog for improved data handling and parameter extraction - Changed the join in falukantService from 'title_of_nobility' to 'title' for better clarity in data relationships. - Enhanced MessagesDialog.vue to directly extract parameters from parsed data when no value object is present, improving the handling of character-related parameters and ensuring backend names take precedence. --- backend/services/falukantService.js | 4 ++-- .../src/components/falukant/MessagesDialog.vue | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/backend/services/falukantService.js b/backend/services/falukantService.js index 42c1132..b07fae1 100644 --- a/backend/services/falukantService.js +++ b/backend/services/falukantService.js @@ -2483,7 +2483,7 @@ class FalukantService extends BaseService { t.level, COALESCE(AVG(k.knowledge), 0) AS avg_knowledge FROM falukant_data.character c - LEFT JOIN falukant_type.title_of_nobility t ON t.id = c.title_of_nobility + LEFT JOIN falukant_type.title t ON t.id = c.title_of_nobility LEFT JOIN falukant_data.knowledge k ON k.character_id = c.id WHERE c.region_id = :regionId AND c.user_id IS NULL @@ -2500,7 +2500,7 @@ class FalukantService extends BaseService { t.level, COALESCE(AVG(k.knowledge), 0) AS avg_knowledge FROM falukant_data.character c - LEFT JOIN falukant_type.title_of_nobility t ON t.id = c.title_of_nobility + LEFT JOIN falukant_type.title t ON t.id = c.title_of_nobility LEFT JOIN falukant_data.knowledge k ON k.character_id = c.id WHERE c.region_id = :regionId AND c.user_id IS NULL diff --git a/frontend/src/components/falukant/MessagesDialog.vue b/frontend/src/components/falukant/MessagesDialog.vue index cb2f232..52b1b24 100644 --- a/frontend/src/components/falukant/MessagesDialog.vue +++ b/frontend/src/components/falukant/MessagesDialog.vue @@ -171,6 +171,23 @@ export default { params.value = parsed.value; } + // Wenn kein value-Objekt vorhanden ist, extrahiere Parameter direkt aus parsed + // (z.B. für character_illness, character_recovery, character_accident) + if (!parsed.value || Object.keys(value).length === 0) { + // Extrahiere Parameter direkt aus parsed (außer 'tr') + const directParams = { ...parsed }; + delete directParams.tr; + delete directParams.value; + // Verwende formatParams, um die Parameter zu formatieren + const formattedDirectParams = this.formatParams(directParams); + // Merge mit bereits extrahierten Parametern (value hat Vorrang) + params = { ...formattedDirectParams, ...params }; + // Backend-aufgelöster Name hat höchste Priorität + if (n.characterName) { + params.characterName = n.characterName; + } + } + // Weitere Parameter aus parsed extrahieren (z.B. branch_id) if (parsed.branch_id !== undefined) { params.branch_id = parsed.branch_id;