From b44c205e668aa90a2efda4344cfc55a7ad140f73 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timoth=C3=A9e=20Poussard?= <tpoussard@neogeo.fr>
Date: Wed, 10 Nov 2021 16:14:28 +0100
Subject: [PATCH] fix pagination missing one page

---
 src/components/feature/FeatureListTable.vue |  2 +-
 src/store/modules/feature.js                |  8 ++++----
 src/views/feature/Feature_edit.vue          | 22 +++++++++++++++------
 3 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/src/components/feature/FeatureListTable.vue b/src/components/feature/FeatureListTable.vue
index 8a3ca07c..47b2d1fd 100644
--- a/src/components/feature/FeatureListTable.vue
+++ b/src/components/feature/FeatureListTable.vue
@@ -283,7 +283,7 @@ export default {
     },
 
     nbPages() {
-      let N = Math.round(
+      let N = Math.ceil(
         this.filteredFeatures.length / this.pagination.pagesize
       );
       const arr = [...Array(N).keys()].map(function (x) {
diff --git a/src/store/modules/feature.js b/src/store/modules/feature.js
index d5ca0c3b..ecf1c647 100644
--- a/src/store/modules/feature.js
+++ b/src/store/modules/feature.js
@@ -24,6 +24,10 @@ const feature = {
         name: "Brouillon",
         value: "draft",
       },
+      {
+        name: "En attente de publication",
+        value: "pending",
+      },
       {
         name: "Publié",
         value: "published",
@@ -32,10 +36,6 @@ const feature = {
         name: "Archivé",
         value: "archived",
       },
-      {
-        name: "En attente de publication",
-        value: "pending",
-      },
     ],
   },
   mutations: {
diff --git a/src/views/feature/Feature_edit.vue b/src/views/feature/Feature_edit.vue
index 54783c45..4916b6ba 100644
--- a/src/views/feature/Feature_edit.vue
+++ b/src/views/feature/Feature_edit.vue
@@ -409,9 +409,10 @@ export default {
           ? this.feature.creator === this.user.id //* prevent undefined feature
           : false; //* si le contributeur est l'auteur du signalement
         if (
-          //* si admin ou modérateur, statuts toujours disponible :  	Brouillon, Publié, Archivé
+          //* si admin, modérateur ou super contributeur, statuts toujours disponible: Brouillon, Publié, Archivé
           userStatus === "Modérateur" ||
-          userStatus === "Administrateur projet"
+          userStatus === "Administrateur projet" ||
+          userStatus === "Super Contributeur"
         ) {
           return this.statusChoices.filter((el) => el.value !== "pending");
         } else if (userStatus === "Contributeur") {
@@ -919,10 +920,14 @@ export default {
       const currentFeatureId = this.$route.params.slug_signal;
       setTimeout(
         function () {
-          let project_id=this.$route.params.slug.split('-')[0];
+          let project_id = this.$route.params.slug.split("-")[0];
           const mvtUrl = `${this.$store.state.configuration.VUE_APP_DJANGO_API_BASE}/features.mvt/?tile={z}/{x}/{y}&project_id=${project_id}`;
-      
-          mapUtil.addVectorTileLayer(mvtUrl,this.$route.params.slug,this.$store.state.feature_type.feature_types);
+
+          mapUtil.addVectorTileLayer(
+            mvtUrl,
+            this.$route.params.slug,
+            this.$store.state.feature_type.feature_types
+          );
         }.bind(this),
         1000
       );
@@ -936,7 +941,12 @@ export default {
             const allFeaturesExceptCurrent = features.filter(
               (feat) => feat.id !== currentFeatureId
             );
-            mapUtil.addFeatures(allFeaturesExceptCurrent,{},false,this.$store.state.feature_type.feature_types);
+            mapUtil.addFeatures(
+              allFeaturesExceptCurrent,
+              {},
+              false,
+              this.$store.state.feature_type.feature_types
+            );
             if (this.currentRouteName === "editer-signalement") {
               const currentFeature = features.filter(
                 (feat) => feat.id === currentFeatureId
-- 
GitLab