From f8c6943ec4e707da899338ca263c8492e66e2ada Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timoth=C3=A9e?= <tpoussard@neogeo.fr>
Date: Tue, 30 Aug 2022 11:25:03 +0200
Subject: [PATCH] refactor display messages in feature type edit

---
 src/utils/index.js                        |  2 +-
 src/views/FeatureType/FeatureTypeEdit.vue | 46 +++++++----------------
 2 files changed, 15 insertions(+), 33 deletions(-)

diff --git a/src/utils/index.js b/src/utils/index.js
index a89354b8..f4ab34f3 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -66,7 +66,7 @@ export function transformProperties(prop) {
   const regInteger = /^-*?\d+$/;
   const regFloat = /^-*?\d*?\.\d+$/;
   const regText = /[\r\n]/;
-  if (type === 'boolean' || prop.toLowerCase() === 'true' || prop.toLowerCase() === 'False') {
+  if (type === 'boolean' || (type === 'string' && (prop.toLowerCase() === 'true' || prop.toLowerCase() === 'False'))) {
     return 'boolean';
   } else if (regInteger.test(prop) || Number.isSafeInteger(prop)) {
     return 'integer';
diff --git a/src/views/FeatureType/FeatureTypeEdit.vue b/src/views/FeatureType/FeatureTypeEdit.vue
index 47bad6dc..0ae06f5b 100644
--- a/src/views/FeatureType/FeatureTypeEdit.vue
+++ b/src/views/FeatureType/FeatureTypeEdit.vue
@@ -1,22 +1,5 @@
 <template>
   <div id="feature-type-edit">
-    <div
-      id="message"
-      class="fullwidth"
-    >
-      <div
-        v-if="error"
-        class="ui negative message"
-      >
-        <p>
-          <i
-            class="cross icon"
-            aria-hidden="true"
-          />
-          {{ error }}
-        </p>
-      </div>
-    </div>
     <div class="fourteen wide column">
       <div
         :class="{ active: loading }"
@@ -185,12 +168,14 @@ export default {
       loading: false,
       action: 'create',
       dataKey: 0,
-      error: null,
       csvFields: null,
       geomTypeChoices: [
         { value: 'linestring', name: 'Ligne' },
         { value: 'point', name: 'Point' },
         { value: 'polygon', name: 'Polygone' },
+        { value: 'multilinestring', name: 'Multiligne' },
+        { value: 'multipoint', name: 'Multipoint' },
+        { value: 'multipolygon', name: 'Multipolygone' },
       ],
       form: {
         colors_style: {
@@ -395,6 +380,9 @@ export default {
   },
 
   methods: {
+    ...mapMutations([
+      'DISPLAY_MESSAGES',
+    ]),
     ...mapMutations('feature-type', [
       'ADD_CUSTOM_FORM',
       'EMPTY_FORM',
@@ -540,9 +528,10 @@ export default {
             } else if (status === 201) {
               this.goBackToProject('Le nouveau type de signalement a été créé');
             } else {
-              this.displayMessage(
-                "Une erreur est survenue lors de l'import du type de signalement"
-              );
+              this.DISPLAY_MESSAGES({
+                comment: "Une erreur est survenue lors de l'import du type de signalement",
+                level: 'negative'
+              });
             }
           });
       }
@@ -558,10 +547,10 @@ export default {
           if (response && response.status === 200) {
             this.goBackToProject();
           } else {
-            this.displayMessage(
-              "Une erreur est survenue lors de l'import de signalements.\n " +
-                response.data.detail
-            );
+            this.DISPLAY_MESSAGES({
+              comment: `Une erreur est survenue lors de l'import de signalements.\n ${ response.data.detail }`,
+              level: 'negative'
+            });
           }
           this.loading = false;
         })
@@ -616,13 +605,6 @@ export default {
       }
     },
 
-    displayMessage(message) {
-      this.error = message;
-      document
-        .getElementById('message')
-        .scrollIntoView({ block: 'end', inline: 'nearest' });
-    },
-
     // ****** Methodes for geojson import ****** //
     toNewFeatureType() {
       this.$router.push({
-- 
GitLab