Skip to content
Snippets Groups Projects
Commit cc19c4e7 authored by Timothee P's avatar Timothee P :sunflower:
Browse files

fix: display message for non-array error & improve lisibility

parent b8f9de97
No related branches found
No related tags found
1 merge request!831REDMINE_ISSUE-23018 | Problème d'import Geojson + visualisation carte
......@@ -619,8 +619,7 @@ export default {
if (field_type === 'list') {
//*then check if the value is an available option
if (!options.includes(fieldInFeature)) {
this.importError = `Le fichier est invalide: la valeur [ ${fieldInFeature} ] n'est pas une option valide
pour le champ personnalisé "${name}".`;
this.importError = `Fichier invalide: La valeur "${fieldInFeature}" n'est pas une option valide dans le champ "${name}" du signalement "${properties.title}".`;
return false;
}
} else if (field_type === 'pre_recorded_list') {
......@@ -632,14 +631,13 @@ export default {
fieldInFeature = JSON.parse(jsonStr);
} catch (e) {
console.error(e);
this.DISPLAY_MESSAGE({ comment: `La valeur [ ${fieldInFeature} ] n'a pas pu être vérifiée pour l'import du signalement [${properties.title}]` });
this.DISPLAY_MESSAGE({ comment: `La valeur "${fieldInFeature}" n'a pas pu être vérifiée dans le champ "${name}" du signalement "${properties.title}"` });
}
}
let fieldLabel = fieldInFeature.label || fieldInFeature;
const isPreRecordedValue = await this.checkPreRecordedValue(fieldLabel, options[0]);
if (!isPreRecordedValue) {
this.importError = `Le fichier est invalide: la valeur [ ${fieldLabel} ] ne fait pas partie des valeurs pré-enregistrées
pour le champ personnalisé "${name}".`;
this.importError = `Fichier invalide: La valeur "${fieldLabel}" ne fait pas partie des valeurs pré-enregistrées dans le champ "${name}" du signalement "${properties.title}".`;
return false;
}
} else if (field_type === 'multi_choices_list') {
......@@ -649,14 +647,20 @@ export default {
fieldInFeature = JSON.parse(fieldInFeature.replaceAll('\'', '"'));
} catch (e) {
console.error(e);
this.DISPLAY_MESSAGE({ comment: `La valeur [ ${fieldInFeature.label} ] n'a pas pu être vérifiée pour l'import du signalement [${properties.title}]` });
this.DISPLAY_MESSAGE({ comment: `La valeur "${fieldInFeature}" n'a pas pu être vérifiée dans le champ "${name}" du signalement "${properties.title}"` });
}
}
const unvalidValues = fieldInFeature.filter((el) => !options.includes(el));
if (unvalidValues.length > 0) {
const plural = unvalidValues.length > 1;
this.importError = `Le fichier est invalide: ${plural ? 'les valeurs' : 'la valeur'} [ ${unvalidValues.join(', ')} ] ${plural ? 'ne sont pas des options valides' : 'n\'est pas une option valide'}
pour le champ personnalisé "${name}".`;
// Check that the value is an array before asserting its validity
if (Array.isArray(fieldInFeature)) {
const unvalidValues = fieldInFeature.filter((el) => !options.includes(el));
if (unvalidValues.length > 0) {
const plural = unvalidValues.length > 1;
this.importError = `Fichier invalide: ${plural ? 'Les valeurs' : 'La valeur'} "${unvalidValues.join(', ')}" ${plural ? 'ne sont pas des options valides' : 'n\'est pas une option valide'}
dans le champ "${name}" du signalement "${properties.title}".`;
return false;
}
} else {
this.importError = `Fichier invalide: La valeur "${fieldInFeature}" doit être un tableau dans le champ "${name}" du signalement "${properties.title}".`;
return false;
}
//* check if custom field value match
......@@ -671,7 +675,7 @@ export default {
(customType === 'char' && field_type === 'text')
)
) {
this.importError = `Le fichier est invalide: Un champ de type ${field_type} ne peut pas avoir la valeur [ ${fieldInFeature} ]`;
this.importError = `Fichier invalide : Le type de champ "${field_type}" ne peut pas avoir la valeur "${fieldInFeature}" dans le champ "${name}" du signalement "${properties.title}".`;
return false;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment