aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-server/src
diff options
context:
space:
mode:
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>2014-03-18 13:40:20 +0100
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>2014-03-18 13:40:27 +0100
commitdf4ae5e2bd6a144ad36e4b028a8b7f71ab188d3a (patch)
treefc925475e3e234ef0c43502da71f0f775e5f894c /sonar-server/src
parentf9b18cc1aea5d6b80095664248ee18a5afb8a655 (diff)
downloadsonarqube-df4ae5e2bd6a144ad36e4b028a8b7f71ab188d3a.tar.gz
sonarqube-df4ae5e2bd6a144ad36e4b028a8b7f71ab188d3a.zip
SONAR-5091 Force selection of period for new_* metrics, show delta in period label
Diffstat (limited to 'sonar-server/src')
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/quality_gates/templates/_quality_gate_detail_condition_template.hbs.erb8
-rw-r--r--sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.coffee3
-rw-r--r--sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.js44
3 files changed, 33 insertions, 22 deletions
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/quality_gates/templates/_quality_gate_detail_condition_template.hbs.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/quality_gates/templates/_quality_gate_detail_condition_template.hbs.erb
index 6023e5b4357..95ace5887a9 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/quality_gates/templates/_quality_gate_detail_condition_template.hbs.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/quality_gates/templates/_quality_gate_detail_condition_template.hbs.erb
@@ -5,11 +5,13 @@
<td width="10%" nowrap>
{{#if canEdit}}
<select name="period">
- <option value="0">{{t 'value'}}</option>
- {{#each periods}}<option value="{{key}}">{{text}}</option>{{/each}}
+ {{#unless isDiffMetric}}<option value="0">{{t 'value'}}</option>{{/unless}}
+ {{#each periods}}<option value="{{key}}">&Delta; {{text}}</option>{{/each}}
</select>
{{else}}
- {{periodText}}
+ {{#if periodText}}&Delta; {{periodText}}
+ {{else}}{{t 'value'}}
+ {{/if}}
{{/if}}
</td>
<td width="10%" nowrap>
diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.coffee b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.coffee
index da1b8d46f04..26f23dbc32e 100644
--- a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.coffee
+++ b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.coffee
@@ -42,6 +42,7 @@ define [
metricKey = @model.get('metric')
metric = _.findWhere @options.app.metrics, key: metricKey
@model.set { metric: metric }, { silent: true }
+ @model.set { isDiffMetric: metric.key.indexOf('new_') == 0 }, { silent: true }
onRender: ->
@@ -105,7 +106,7 @@ define [
serializeData: ->
- period = _.findWhere(@options.app.periods, key: '' + this.model.get('period'))
+ period = _.findWhere(@options.app.periods, key: this.model.get('period'))
_.extend super,
canEdit: @options.app.canEdit
periods: @options.app.periods
diff --git a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.js b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.js
index 0abc1b0532b..d18fa24aff0 100644
--- a/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.js
+++ b/sonar-server/src/main/webapp/javascripts/quality-gate/views/quality-gate-detail-condition-view.js
@@ -1,16 +1,15 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.7.1
(function() {
var __hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
define(['backbone.marionette', 'handlebars'], function(Marionette, Handlebars) {
- var QualityGateDetailConditionView, _ref;
+ var QualityGateDetailConditionView;
return QualityGateDetailConditionView = (function(_super) {
__extends(QualityGateDetailConditionView, _super);
function QualityGateDetailConditionView() {
- _ref = QualityGateDetailConditionView.__super__.constructor.apply(this, arguments);
- return _ref;
+ return QualityGateDetailConditionView.__super__.constructor.apply(this, arguments);
}
QualityGateDetailConditionView.prototype.tagName = 'tr';
@@ -51,11 +50,16 @@
metric = _.findWhere(this.options.app.metrics, {
key: metricKey
});
- return this.model.set({
+ this.model.set({
metric: metric
}, {
silent: true
});
+ return this.model.set({
+ isDiffMetric: metric.key.indexOf('new_') === 0
+ }, {
+ silent: true
+ });
};
QualityGateDetailConditionView.prototype.onRender = function() {
@@ -89,7 +93,6 @@
};
QualityGateDetailConditionView.prototype.saveCondition = function() {
- var _this = this;
this.showSpinner();
this.model.set({
period: this.ui.periodSelect.val(),
@@ -97,22 +100,27 @@
warning: this.ui.warningInput.val(),
error: this.ui.errorInput.val()
});
- return this.model.save().always(function() {
- _this.ui.updateButton.prop('disabled', true);
- return _this.hideSpinner();
- }).done(function() {
- return _this.options.collectionView.updateConditions();
- });
+ return this.model.save().always((function(_this) {
+ return function() {
+ _this.ui.updateButton.prop('disabled', true);
+ return _this.hideSpinner();
+ };
+ })(this)).done((function(_this) {
+ return function() {
+ return _this.options.collectionView.updateConditions();
+ };
+ })(this));
};
QualityGateDetailConditionView.prototype.deleteCondition = function() {
- var _this = this;
if (confirm(t('are_you_sure'))) {
this.showSpinner();
- return this.model["delete"]().done(function() {
- _this.options.collectionView.updateConditions();
- return _this.close();
- });
+ return this.model["delete"]().done((function(_this) {
+ return function() {
+ _this.options.collectionView.updateConditions();
+ return _this.close();
+ };
+ })(this));
}
};
@@ -127,7 +135,7 @@
QualityGateDetailConditionView.prototype.serializeData = function() {
var period;
period = _.findWhere(this.options.app.periods, {
- key: '' + this.model.get('period')
+ key: this.model.get('period')
});
return _.extend(QualityGateDetailConditionView.__super__.serializeData.apply(this, arguments), {
canEdit: this.options.app.canEdit,