aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx
diff options
context:
space:
mode:
authorGrégoire Aubert <gregoire.aubert@sonarsource.com>2018-06-29 16:33:30 +0200
committerSonarTech <sonartech@sonarsource.com>2018-07-11 20:21:21 +0200
commit477cfbd296c49853604563e24fc2c9987b4f751e (patch)
tree02346fa12e2f500fd0bf8b0e712e99a242d61609 /server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx
parent65950a3720eab9c67e2d99ca6e7973de13a54bcb (diff)
downloadsonarqube-477cfbd296c49853604563e24fc2c9987b4f751e.tar.gz
sonarqube-477cfbd296c49853604563e24fc2c9987b4f751e.zip
SONAR-10945 QP and QG pages should only be visible only to members of paid organizations
* SONAR-10968 Warn user about project privacy after billing upgrade * SONAR-10949 Show QG, QP, members and rules only when the user has correct access * SONAR-10959 Do not display Rules, QP and QG pages for non members of paid organizations * SONAR-10961 Do not display Members page for non member of private organizations * Remove rule permalink in issues page for non members of paid orgs * Do not display QP, QG on project overview page
Diffstat (limited to 'server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx')
-rw-r--r--server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx20
1 files changed, 11 insertions, 9 deletions
diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx
index 110956c04fb..def6cd3f6d5 100644
--- a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx
+++ b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx
@@ -39,6 +39,7 @@ import { PopupPlacement } from '../../../components/ui/popups';
interface Props {
canWrite: boolean | undefined;
+ hidePermalink?: boolean;
hideSimilarRulesFilter?: boolean;
onFilterChange: (changes: Partial<Query>) => void;
onTagsChange: (tags: string[]) => void;
@@ -230,21 +231,22 @@ export default class RuleDetailsMeta extends React.PureComponent<Props> {
};
render() {
- const { ruleDetails } = this.props;
+ const { hidePermalink, ruleDetails } = this.props;
const hasTypeData = !ruleDetails.isExternal || ruleDetails.type !== 'UNKNOWN';
return (
<div className="js-rule-meta">
<header className="page-header">
<div className="pull-right">
<span className="note text-middle">{ruleDetails.key}</span>
- {!ruleDetails.isExternal && (
- <Link
- className="coding-rules-detail-permalink link-no-underline spacer-left text-middle"
- title={translate('permalink')}
- to={getRuleUrl(ruleDetails.key, this.props.organization)}>
- <LinkIcon />
- </Link>
- )}
+ {!ruleDetails.isExternal &&
+ !hidePermalink && (
+ <Link
+ className="coding-rules-detail-permalink link-no-underline spacer-left text-middle"
+ title={translate('permalink')}
+ to={getRuleUrl(ruleDetails.key, this.props.organization)}>
+ <LinkIcon />
+ </Link>
+ )}
{!this.props.hideSimilarRulesFilter && (
<SimilarRulesFilter onFilterChange={this.props.onFilterChange} rule={ruleDetails} />
)}