From a57c9091ce9f7573dc0f8e227fb0c07ac875615e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timoth=C3=A9e?= <tpoussard@neogeo.fr>
Date: Wed, 31 Aug 2022 18:17:57 +0200
Subject: [PATCH] disable adding feature or editing geometry for multi geometry
 feature types & add icons on feature type details

---
 src/components/AppHeader.vue                  |  2 +-
 .../Project/Detail/ProjectFeatureTypes.vue    |  2 +-
 src/views/Feature/FeatureEdit.vue             |  2 +-
 src/views/FeatureType/FeatureTypeDetail.vue   | 20 ++++++++++++++++++-
 4 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/components/AppHeader.vue b/src/components/AppHeader.vue
index ec2a5d07..9611d12b 100644
--- a/src/components/AppHeader.vue
+++ b/src/components/AppHeader.vue
@@ -172,7 +172,7 @@
               data-position="bottom right"
             >
               <div class="crossed-out">
-                <i class="wifi icon"/>
+                <i class="wifi icon" />
               </div>
             </span>
           </div>
diff --git a/src/components/Project/Detail/ProjectFeatureTypes.vue b/src/components/Project/Detail/ProjectFeatureTypes.vue
index ebbbc8c8..c2a9e4ea 100644
--- a/src/components/Project/Detail/ProjectFeatureTypes.vue
+++ b/src/components/Project/Detail/ProjectFeatureTypes.vue
@@ -34,7 +34,7 @@
           <div class="middle aligned content">
             <router-link
               v-if="
-                project && permissions && permissions.can_create_feature
+                project && permissions && permissions.can_create_feature && !type.geom_type.includes('multi')
               "
               :to="{
                 name: 'ajouter-signalement',
diff --git a/src/views/Feature/FeatureEdit.vue b/src/views/Feature/FeatureEdit.vue
index 80a6c463..b9248837 100644
--- a/src/views/Feature/FeatureEdit.vue
+++ b/src/views/Feature/FeatureEdit.vue
@@ -253,7 +253,7 @@
           </div>
         
           <SidebarLayers v-if="basemaps && map" />
-          <EditingToolbar v-if="basemaps && map" />
+          <EditingToolbar v-if="basemaps && map && (feature_type && !feature_type.geom_type.includes('multi'))" />
         </div>
       </div>
 
diff --git a/src/views/FeatureType/FeatureTypeDetail.vue b/src/views/FeatureType/FeatureTypeDetail.vue
index 97db52d8..f78c0d03 100644
--- a/src/views/FeatureType/FeatureTypeDetail.vue
+++ b/src/views/FeatureType/FeatureTypeDetail.vue
@@ -25,6 +25,24 @@
               alt="Géométrie polygone"
               src="@/assets/img/polygon.png"
             >
+            <img
+              v-if="structure.geom_type === 'multipoint'"
+              class="ui medium image"
+              alt="Géométrie point"
+              src="@/assets/img/multimarker.png"
+            >
+            <img
+              v-if="structure.geom_type === 'multilinestring'"
+              class="ui medium image"
+              alt="Géométrie ligne"
+              src="@/assets/img/multiline.png"
+            >
+            <img
+              v-if="structure.geom_type === 'multipolygon'"
+              class="ui medium image"
+              alt="Géométrie polygone"
+              src="@/assets/img/multipolygon.png"
+            >
             {{ structure.title }}
           </h1>
         </div>
@@ -341,7 +359,7 @@
           Voir tous les signalements
         </router-link>
         <router-link
-          v-if="permissions.can_create_feature"
+          v-if="permissions.can_create_feature && !structure.geom_type.includes('multi')"
           :to="{
             name: 'ajouter-signalement',
             params: { slug_type_signal: structure.slug },
-- 
GitLab