aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src
diff options
context:
space:
mode:
authorStas Vilchik <vilchiks@gmail.com>2017-02-02 11:11:10 +0100
committerStas Vilchik <stas-vilchik@users.noreply.github.com>2017-02-02 13:32:25 +0100
commitf9f4cf9c336f79c3bef4233cb391ae7d06511e78 (patch)
treeeff4730ec413e0e7e1a5860c99435427061a198c /server/sonar-web/src
parentc7dab63b2544a48cae7daa17c81762883f71ca14 (diff)
downloadsonarqube-f9f4cf9c336f79c3bef4233cb391ae7d06511e78.tar.gz
sonarqube-f9f4cf9c336f79c3bef4233cb391ae7d06511e78.zip
display organization key on project dashboard
Diffstat (limited to 'server/sonar-web/src')
-rw-r--r--server/sonar-web/src/main/js/apps/overview/meta/Meta.js17
-rw-r--r--server/sonar-web/src/main/js/apps/overview/meta/MetaOrganizationKey.js39
2 files changed, 54 insertions, 2 deletions
diff --git a/server/sonar-web/src/main/js/apps/overview/meta/Meta.js b/server/sonar-web/src/main/js/apps/overview/meta/Meta.js
index a0b76bf0690..6709840632d 100644
--- a/server/sonar-web/src/main/js/apps/overview/meta/Meta.js
+++ b/server/sonar-web/src/main/js/apps/overview/meta/Meta.js
@@ -18,14 +18,17 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import React from 'react';
+import { connect } from 'react-redux';
import MetaKey from './MetaKey';
+import MetaOrganizationKey from './MetaOrganizationKey';
import MetaLinks from './MetaLinks';
import MetaQualityGate from './MetaQualityGate';
import MetaQualityProfiles from './MetaQualityProfiles';
import AnalysesList from '../events/AnalysesList';
import MetaSize from './MetaSize';
+import { areThereCustomOrganizations } from '../../../store/rootReducer';
-const Meta = ({ component, measures }) => {
+const Meta = ({ component, measures, areThereCustomOrganizations }) => {
const { qualifier, description, qualityProfiles, qualityGate } = component;
const isProject = qualifier === 'TRK';
@@ -39,6 +42,8 @@ const Meta = ({ component, measures }) => {
const shouldShowQualityProfiles = !isView && !isDeveloper && hasQualityProfiles;
const shouldShowQualityGate = !isView && !isDeveloper && hasQualityGate;
+ const shouldShowOrganizationKey = component.organization != null && areThereCustomOrganizations;
+
return (
<div className="overview-meta">
{hasDescription && (
@@ -61,6 +66,10 @@ const Meta = ({ component, measures }) => {
<MetaKey component={component}/>
+ {shouldShowOrganizationKey && (
+ <MetaOrganizationKey component={component}/>
+ )}
+
{isProject && (
<AnalysesList project={component.key}/>
)}
@@ -68,4 +77,8 @@ const Meta = ({ component, measures }) => {
);
};
-export default Meta;
+const mapStateToProps = state => ({
+ areThereCustomOrganizations: areThereCustomOrganizations(state)
+});
+
+export default connect(mapStateToProps)(Meta);
diff --git a/server/sonar-web/src/main/js/apps/overview/meta/MetaOrganizationKey.js b/server/sonar-web/src/main/js/apps/overview/meta/MetaOrganizationKey.js
new file mode 100644
index 00000000000..f438365f3a4
--- /dev/null
+++ b/server/sonar-web/src/main/js/apps/overview/meta/MetaOrganizationKey.js
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+import React from 'react';
+import { translate } from '../../../helpers/l10n';
+
+const MetaOrganizationKey = ({ component }) => {
+ return (
+ <div className="overview-meta-card">
+ <h4 className="overview-meta-header">
+ {translate('organization_key')}
+ </h4>
+ <input
+ className="overview-key"
+ type="text"
+ value={component.organization}
+ readOnly={true}
+ onClick={e => e.target.select()}/>
+ </div>
+ );
+};
+
+export default MetaOrganizationKey;