From c6eb679bda4423de327c84a859d3cbea3cc29161 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timoth=C3=A9e=20Poussard?= <tpoussard@neogeo.fr>
Date: Fri, 12 Nov 2021 12:33:40 +0100
Subject: [PATCH] Reduce status choice for super contrib if moderate & keep
 right for contrib to change to pending status

---
 src/views/feature/Feature_edit.vue | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/views/feature/Feature_edit.vue b/src/views/feature/Feature_edit.vue
index 6502947f..8d8bd806 100644
--- a/src/views/feature/Feature_edit.vue
+++ b/src/views/feature/Feature_edit.vue
@@ -412,9 +412,13 @@ export default {
           //* si admin, modérateur ou super contributeur, statuts toujours disponible: Brouillon, Publié, Archivé
           userStatus === "Modérateur" ||
           userStatus === "Administrateur projet" ||
-          userStatus === "Super Contributeur"
+          (userStatus === "Super Contributeur" && !isModerate)
         ) {
           return this.statusChoices.filter((el) => el.value !== "pending");
+        } else if (userStatus === "Super Contributeur" && isModerate) {
+          return this.statusChoices.filter(
+            (el) => el.value === "draft" || el.value === "pending"
+          );
         } else if (userStatus === "Contributeur") {
           //* cas particuliers du contributeur
           if (
@@ -693,7 +697,8 @@ export default {
         if (
           this.project.moderation &&
           !this.permissions.is_project_administrator &&
-          !this.permissions.is_project_moderator
+          !this.permissions.is_project_moderator &&
+          this.feature.status === "pending" //* allow (super)contributor to change status to pending
         ) {
           this.form.status.value = { name: "Brouillon", value: "draft" };
           this.updateStore();
-- 
GitLab