]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-7832 Hide irrelevant permissions for views and developers 1094/head
authorStas Vilchik <vilchiks@gmail.com>
Mon, 11 Jul 2016 14:13:42 +0000 (16:13 +0200)
committerStas Vilchik <vilchiks@gmail.com>
Tue, 12 Jul 2016 08:18:56 +0000 (10:18 +0200)
server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js
server/sonar-web/src/main/js/apps/permissions/project/constants.js [new file with mode: 0644]

index 880c4d2a195bcc0a73e27fa2ad0b9035c04af79f..6dcbe72808466b4ec49e7c9e1cbd94441381f50f 100644 (file)
@@ -39,14 +39,7 @@ import {
     getSelectedPermission
 } from '../../shared/store/rootReducer';
 import { translate } from '../../../../helpers/l10n';
-
-export const PERMISSIONS_ORDER = [
-  'user',
-  'codeviewer',
-  'issueadmin',
-  'admin',
-  'scan'
-];
+import { PERMISSIONS_ORDER_BY_QUALIFIER } from '../constants';
 
 class AllHoldersList extends React.Component {
   static propTypes = {
@@ -106,7 +99,8 @@ class AllHoldersList extends React.Component {
   }
 
   render () {
-    const permissions = PERMISSIONS_ORDER.map(p => ({
+    const order = PERMISSIONS_ORDER_BY_QUALIFIER[this.props.project.qualifier];
+    const permissions = order.map(p => ({
       key: p,
       name: translate('projects_role', p),
       description: translate('projects_role', p, 'desc')
diff --git a/server/sonar-web/src/main/js/apps/permissions/project/constants.js b/server/sonar-web/src/main/js/apps/permissions/project/constants.js
new file mode 100644 (file)
index 0000000..22e2ef9
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+export const PERMISSIONS_ORDER_FOR_PROJECT = [
+  'user',
+  'codeviewer',
+  'issueadmin',
+  'admin',
+  'scan'
+];
+
+export const PERMISSIONS_ORDER_FOR_VIEW = [
+  'user',
+  'admin'
+];
+
+export const PERMISSIONS_ORDER_FOR_DEV = [
+  'user',
+  'admin'
+];
+
+export const PERMISSIONS_ORDER_BY_QUALIFIER = {
+  'TRK': PERMISSIONS_ORDER_FOR_PROJECT,
+  'VW': PERMISSIONS_ORDER_FOR_VIEW,
+  'SVW': PERMISSIONS_ORDER_FOR_VIEW,
+  'DEV': PERMISSIONS_ORDER_FOR_DEV
+};