From 43864c2159afd6b0eaf45a2c8e7129475e0f0136 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Mon, 11 Jul 2016 16:13:42 +0200 Subject: [PATCH] SONAR-7832 Hide irrelevant permissions for views and developers --- .../project/components/AllHoldersList.js | 12 ++---- .../js/apps/permissions/project/constants.js | 43 +++++++++++++++++++ 2 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 server/sonar-web/src/main/js/apps/permissions/project/constants.js diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js b/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js index 880c4d2a195..6dcbe728084 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js @@ -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 index 00000000000..22e2ef95122 --- /dev/null +++ b/server/sonar-web/src/main/js/apps/permissions/project/constants.js @@ -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 +}; -- 2.39.5