From fb99d905f9588c9ad34b7c60449cbe5d7858d065 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timoth=C3=A9e=20Poussard?= <tpoussard@neogeo.fr>
Date: Wed, 10 Nov 2021 16:20:50 +0100
Subject: [PATCH] display delete button on detail of feature for super
 contributor & empty checked features at delete

---
 src/views/feature/Feature_detail.vue |  2 +-
 src/views/feature/Feature_list.vue   | 15 +++++++++------
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/views/feature/Feature_detail.vue b/src/views/feature/Feature_detail.vue
index e69a936c..b31ae747 100644
--- a/src/views/feature/Feature_detail.vue
+++ b/src/views/feature/Feature_detail.vue
@@ -39,7 +39,7 @@
                 </router-link>
                 <!-- (permissions && permissions.can_delete_feature) || -->
                 <a
-                  v-if="isFeatureCreator"
+                  v-if="isFeatureCreator || permissions.is_project_super_contributor"
                   @click="isCanceling = true"
                   id="feature-delete"
                   class="ui button button-hover-red"
diff --git a/src/views/feature/Feature_list.vue b/src/views/feature/Feature_list.vue
index 8d9c18f1..b86b137a 100644
--- a/src/views/feature/Feature_list.vue
+++ b/src/views/feature/Feature_list.vue
@@ -303,15 +303,18 @@ export default {
       this.modalAllDeleteOpen = !this.modalAllDeleteOpen;
     },
 
-    deleteFeature(feature) {
-      const url = `${this.$store.state.configuration.VUE_APP_DJANGO_API_BASE}features/${feature.feature_id}/?project__slug=${this.project.slug}`;
+    deleteFeature(feature_id) {
+      const url = `${this.$store.state.configuration.VUE_APP_DJANGO_API_BASE}features/${feature_id}/?project__slug=${this.project.slug}`;
       axios
         .delete(url, {})
         .then(() => {
           if (!this.modalAllDeleteOpen) {
             this.$store
               .dispatch("feature/GET_PROJECT_FEATURES", this.project.slug)
-              .then(() => this.getFeaturesAsGeojson());
+              .then(() => {
+                this.getNloadGeojsonFeatures();
+                this.checkedFeatures.splice(feature_id)
+              });
           }
         })
         .catch(() => {
@@ -323,7 +326,7 @@ export default {
       let feature = {};
       this.checkedFeatures.forEach((feature_id) => {
         feature = { feature_id: feature_id };
-        this.deleteFeature(feature);
+        this.deleteFeature(feature.feature_id);
       });
       this.modalAllDelete();
     },
@@ -376,7 +379,7 @@ export default {
       });
 
       // --------- End sidebar events ----------
-      this.getFeaturesAsGeojson();
+      this.getNloadGeojsonFeatures();
 
       setTimeout(
         function () {
@@ -394,7 +397,7 @@ export default {
       );
     },
 
-    getFeaturesAsGeojson() {
+    getNloadGeojsonFeatures() {
       const url = `${this.$store.state.configuration.VUE_APP_DJANGO_API_BASE}projects/${this.$route.params.slug}/feature/?output=geojson`;
       this.$store.commit(
         "DISPLAY_LOADER",
-- 
GitLab