diff --git a/src/assets/styles/base.css b/src/assets/styles/base.css index 4f11c788ed308a845917e8ecf5ca6700efb0f0c5..38a897000be201319cd9f63022ecf70f792d1147 100644 --- a/src/assets/styles/base.css +++ b/src/assets/styles/base.css @@ -43,6 +43,14 @@ main { .button-hover-red:hover { background: #ee2e24 !important; } +.ui.button.button-hover-red:hover, .ui.button.button-hover-red:hover i.icon, +.ui.button.button-hover-green:hover, .ui.button.button-hover-green:hover i.icon { + color: #fff !important; +} +.ui.button.button-hover-red:hover i.icon, +.ui.button.button-hover-green:hover i.icon { + transition: all 0.5s ease !important; +} .ui.header .content { width: 100%; diff --git a/src/components/feature/FeatureListTable.vue b/src/components/feature/FeatureListTable.vue index c2b6b4dc0ad08252416c0236c6dc04297d37fb3d..64fa582cfdb713aaf1e7718f36548fde37273080 100644 --- a/src/components/feature/FeatureListTable.vue +++ b/src/components/feature/FeatureListTable.vue @@ -412,8 +412,8 @@ export default { canEditFeature(feature) { const permissions = { - 'Administrateur projet' : ['draft', 'published', 'archived'], - Modérateur : ['pending', 'published'], + 'Administrateur projet' : ['draft', 'pending', 'published', 'archived'], + Modérateur : ['draft', 'pending', 'published'], 'Super Contributeur' : ['draft', 'pending', 'published'], Contributeur : ['draft', 'pending', 'published'], }; diff --git a/src/views/feature/Feature_edit.vue b/src/views/feature/Feature_edit.vue index e9eb16bfafcc3dbab36d2e8c4436fb70efc3383d..f6c7ec607324c3286f0f84f132120869bcc3d834 100644 --- a/src/views/feature/Feature_edit.vue +++ b/src/views/feature/Feature_edit.vue @@ -248,7 +248,7 @@ <button id="add-attachment" type="button" - class="ui compact basic button button-hover-green" + class="ui compact basic button" @click="add_attachement_formset" > <i class="ui plus icon" />Ajouter une pièce jointe @@ -271,7 +271,7 @@ <button id="add-link" type="button" - class="ui compact basic button button-hover-green" + class="ui compact basic button" @click="add_linked_formset" > <i class="ui plus icon" />Ajouter une liaison diff --git a/src/views/feature/Feature_list.vue b/src/views/feature/Feature_list.vue index f06b02453318f4bc1952c518f805eacb02947ac9..4b3cb1edce87417de89a2ab2961ade7ae123c113 100644 --- a/src/views/feature/Feature_list.vue +++ b/src/views/feature/Feature_list.vue @@ -346,47 +346,26 @@ export default { if (this.project) { const isModerate = this.project.moderation; const userStatus = this.USER_LEVEL_PROJECTS[this.project.slug]; - const isOwnFeature = this.feature - ? this.feature.creator === this.user.id //* prevent undefined feature - : false; //* si le contributeur est l'auteur du signalement - if ( - //* si admin, modérateur ou super contributeur, statuts toujours disponible: Brouillon, Publié, Archivé - userStatus === 'Administrateur projet' || - (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 === 'Modérateur') { - return this.statusChoices.filter( - (el) => el.value === 'draft' || el.value === 'published' - ); - } else if (userStatus === 'Contributeur') { - //* cas particuliers du contributeur - if ( - this.currentRouteName === 'ajouter-signalement' || - !isOwnFeature - ) { - //* même cas à l'ajout d'une feature ou si feature n'a pas été créé par le contributeur - return isModerate - ? this.statusChoices.filter( - (el) => el.value === 'draft' || el.value === 'pending' - ) - : this.statusChoices.filter( - (el) => el.value === 'draft' || el.value === 'published' - ); - } else { - //* à l'édition d'une feature et si le contributeur est l'auteur de la feature - return isModerate - ? this.statusChoices.filter( - (el) => el.value !== 'published' //* toutes sauf "Publié" - ) - : this.statusChoices.filter( - (el) => el.value !== 'pending' //* toutes sauf "En cours de publication" - ); - } + + switch (userStatus) { + case 'Administrateur projet' : //* ajout de 'pending' si projet modéré + return isModerate ? this.statusChoices : this.statusChoices.filter((el) => el.value !== 'pending'); + + case 'Modérateur' : + console.log('Modérateur', isModerate); + return isModerate ? + this.statusChoices.filter((el) => el.value !== 'archived') : //* ajout de 'pending' si projet modéré + this.statusChoices.filter( + (el) => el.value === 'draft' || el.value === 'published' + ); + + case 'Super Contributeur' : + case 'Contributeur' : + return isModerate ? + this.statusChoices.filter((el) => el.value === 'draft') : + this.statusChoices.filter( //* ajout de 'published' si projet non-modéré + (el) => el.value === 'draft' || el.value === 'published' + ); } } return []; diff --git a/src/views/feature_type/Feature_type_edit.vue b/src/views/feature_type/Feature_type_edit.vue index 498ec87a1307fda61f8b985d0eaf321d26a9d46d..8ac0cad69c047f6b4363df60364c247cadf4f016 100644 --- a/src/views/feature_type/Feature_type_edit.vue +++ b/src/views/feature_type/Feature_type_edit.vue @@ -162,7 +162,7 @@ <button id="add-field" type="button" - class="ui compact basic button button-hover-green" + class="ui compact basic button" @click="addCustomForm" > <i class="ui plus icon" />Ajouter un champ personnalisé diff --git a/src/views/project/Project_detail.vue b/src/views/project/Project_detail.vue index f1a1dc65d101fa73de98f06496e408d4e6347944..2e54af558f29f052a76541aa93d32aeb07dc0b14 100644 --- a/src/views/project/Project_detail.vue +++ b/src/views/project/Project_detail.vue @@ -367,7 +367,7 @@ name: 'ajouter-type-signalement', params: { slug }, }" - class="ui compact basic button button-hover-green" + class="ui compact basic button" > <i class="ui plus icon" />Créer un nouveau type de signalement </router-link> @@ -383,7 +383,7 @@ ui compact basic - button button-hover-green + button button-align-left " > @@ -423,7 +423,7 @@ feature_type_slug: 'create' }, }" - class="ui compact basic button button-hover-green button-align-left" + class="ui compact basic button button-align-left" > <i class="ui plus icon" /> Créer un nouveau type de signalement à partir du catalogue {{ CATALOG_NAME|| 'IDGO' }} diff --git a/src/views/project/Project_members.vue b/src/views/project/Project_members.vue index f899e7e5a2170e37a468b508e3c819192cf3b85e..b2f951ad6ed60467b6cae578dc159ce596d22c9a 100644 --- a/src/views/project/Project_members.vue +++ b/src/views/project/Project_members.vue @@ -101,7 +101,8 @@ /> <button type="button" - class="ui icon button" + class="ui icon button button-hover-red" + data-tooltip="Retirer ce membre" @click="removeMember(member)" > <i class="times icon" />