From 2bd140137075519bbe4018c9942fec05172d1215 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Wed, 21 Sep 2016 17:53:21 +0200 Subject: [PATCH] SONAR-8119 Correctly display rating conditions in quality gates and in project dashboard --- .../js/apps/overview/qualityGate/QualityGateCondition.js | 6 +++++- .../main/js/apps/quality-gates/components/Condition.js | 8 ++++---- .../src/main/resources/org/sonar/l10n/core.properties | 4 ++++ 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.js b/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.js index 2910c3d81c3..84de099c7e8 100644 --- a/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.js +++ b/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.js @@ -41,6 +41,10 @@ const QualityGateCondition = ({ component, periods, condition }) => { const periodLabel = getPeriodLabel(period); const periodDate = getPeriodDate(period); + const operator = metric.type === 'RATING' ? + translate('quality_gates.operator', condition.op, 'rating') : + translate('quality_gates.operator', condition.op, 'short'); + return (
  • @@ -65,7 +69,7 @@ const QualityGateCondition = ({ component, periods, condition }) => { {metric.name}
    - {translate('quality_gates.operator', condition.op, 'short')} + {operator} {' '} {formatMeasure(threshold, metric.type)}
    diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.js b/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.js index 4eeb48bcb8e..8169218183e 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.js +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.js @@ -153,10 +153,10 @@ export default class Condition extends Component { const isLeakSelected = !!this.state.period; const operators = ['LT', 'GT', 'EQ', 'NE']; const operatorOptions = operators.map(op => { - return { - label: translate('quality_gates.operator', op), - value: op - }; + const label = metric.type === 'RATING' ? + translate('quality_gates.operator', op, 'rating') : + translate('quality_gates.operator', op); + return { label, value: op }; }); return ( diff --git a/sonar-core/src/main/resources/org/sonar/l10n/core.properties b/sonar-core/src/main/resources/org/sonar/l10n/core.properties index 2f6354fd0e5..b3243cc9690 100644 --- a/sonar-core/src/main/resources/org/sonar/l10n/core.properties +++ b/sonar-core/src/main/resources/org/sonar/l10n/core.properties @@ -2802,6 +2802,10 @@ quality_gates.operator.LT.short=< quality_gates.operator.GT.short=> quality_gates.operator.EQ.short== quality_gates.operator.NE.short=\u2260 +quality_gates.operator.LT.rating=is better than +quality_gates.operator.GT.rating=is worse than +quality_gates.operator.EQ.rating=is +quality_gates.operator.NE.rating=is not quality_gates.delete.confirm.message=Are you sure you want to delete the "{0}" quality gate? quality_gates.delete.confirm.default=Are you sure you want to delete the "{0}" quality gate, which is the default quality gate? quality_gates.delete_condition=Delete Condition -- 2.39.5