From 34101082e09e701e4324b895398aedf96d1d25ff Mon Sep 17 00:00:00 2001 From: Pascal Delange Date: Wed, 5 Mar 2025 23:33:09 +0100 Subject: [PATCH] Better error messages in aggregation modale rollback: disabled was an error --- packages/app-builder/src/locales/ar/scenarios.json | 2 ++ packages/app-builder/src/locales/en/scenarios.json | 2 ++ packages/app-builder/src/locales/fr/scenarios.json | 2 ++ .../validation/scenario-validation-error-messages.ts | 12 +++++++++++- 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/app-builder/src/locales/ar/scenarios.json b/packages/app-builder/src/locales/ar/scenarios.json index dd0f53ad7..f86dfb08d 100644 --- a/packages/app-builder/src/locales/ar/scenarios.json +++ b/packages/app-builder/src/locales/ar/scenarios.json @@ -152,6 +152,8 @@ "validation.evaluation_error.division_by_zero_other": "{{count}} قسمة على صفر.", "validation.evaluation_error.payload_field_not_found_one": "لم يتم العثور على حقل الحمولة", "validation.evaluation_error.payload_field_not_found_other": "{{count}} payload fields not found", + "validation.evaluation_error.aggregation_field_incompatible_with_aggregator": "نوع حقل التجميع غير متوافق مع وظيفة التجميع", + "validation.evaluation_error.aggregation_field_not_chosen": "يجب اختيار مجال التجميع", "edit_aggregation.title": "إنشاء متغير", "edit_aggregation.subtitle": "من قاعدة بيانات Marble", "edit_aggregation.description": "يتم حساب التجميعات على البيانات التي تم استيرادها. (لمعرفة المزيد)", diff --git a/packages/app-builder/src/locales/en/scenarios.json b/packages/app-builder/src/locales/en/scenarios.json index 7aafabc2b..4a3650be2 100644 --- a/packages/app-builder/src/locales/en/scenarios.json +++ b/packages/app-builder/src/locales/en/scenarios.json @@ -303,6 +303,8 @@ "validation.evaluation_error.payload_field_not_found_one": "payload field not found", "validation.evaluation_error.payload_field_not_found_other": "{{count}} payload fields not found", "validation.evaluation_error.filters_table_not_match": "filter must be applied on the same table than aggregate", + "validation.evaluation_error.aggregation_field_not_chosen": "You must select a field and entity to compute the aggregate on", + "validation.evaluation_error.aggregation_field_incompatible_with_aggregator": "This aggregation function is incompatible with the data type of the field you selected", "edit_aggregation.title": "Create a variable", "edit_aggregation.subtitle": "From Marble database", "edit_aggregation.description": "Computes aggregates on your ingested data (learn more)", diff --git a/packages/app-builder/src/locales/fr/scenarios.json b/packages/app-builder/src/locales/fr/scenarios.json index b8f5fae1d..361052add 100644 --- a/packages/app-builder/src/locales/fr/scenarios.json +++ b/packages/app-builder/src/locales/fr/scenarios.json @@ -258,6 +258,8 @@ "validation.evaluation_error.undefined_function_one": "requis", "validation.evaluation_error.undefined_function_other": "{{count}} requis", "validation.evaluation_error.wrong_number_of_arguments": "mauvais nombre d'arguments", + "validation.evaluation_error.aggregation_field_not_chosen": "Vous devez sélectionner un champ et une entité sur lequel l'agrégation sera effectuée", + "validation.evaluation_error.aggregation_field_incompatible_with_aggregator": "Cette fonction d'agrégation est incompatible avec le champ que vous avez sélectionné", "custom_list.unknown": "Liste inconnue", "scenarios.description": "Un scénario permet de détecter un certain type de risque, selon des règles métier spécifiques, pour un événement déclencheur spécifique.", "trigger_object.description": "L'objet central qui initie le processus de prise de décision. Il est accessible lors de l'exécution du scénario.", diff --git a/packages/app-builder/src/services/validation/scenario-validation-error-messages.ts b/packages/app-builder/src/services/validation/scenario-validation-error-messages.ts index 864d3a104..69e9abd69 100644 --- a/packages/app-builder/src/services/validation/scenario-validation-error-messages.ts +++ b/packages/app-builder/src/services/validation/scenario-validation-error-messages.ts @@ -37,7 +37,11 @@ export type EvaluationErrorViewModel = count: number; } | { - error: 'WRONG_NUMBER_OF_ARGUMENTS' | 'FILTERS_TABLE_NOT_MATCH'; + error: + | 'WRONG_NUMBER_OF_ARGUMENTS' + | 'FILTERS_TABLE_NOT_MATCH' + | 'AGGREGATION_FIELD_NOT_CHOSEN' + | 'AGGREGATION_FIELD_INCOMPATIBLE_WITH_AGGREGATOR'; }; export function adaptEvaluationErrorViewModels( @@ -144,6 +148,12 @@ const commonErrorMessages = return t('scenarios:validation.evaluation_error.wrong_number_of_arguments'); case 'FILTERS_TABLE_NOT_MATCH': return t('scenarios:validation.evaluation_error.filters_table_not_match'); + case 'AGGREGATION_FIELD_NOT_CHOSEN': + return t('scenarios:validation.evaluation_error.aggregation_field_not_chosen'); + case 'AGGREGATION_FIELD_INCOMPATIBLE_WITH_AGGREGATOR': + return t( + 'scenarios:validation.evaluation_error.aggregation_field_incompatible_with_aggregator', + ); case 'MISSING_NAMED_ARGUMENT': return t('scenarios:validation.evaluation_error.missing_named_argument', { count: evaluationError.count,