summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/core/domain.js
diff options
context:
space:
mode:
authorAdrien Dieudonne <adr@odoo.com>2018-08-29 09:38:01 +0200
committerAdrien Dieudonne <adr@odoo.com>2018-08-31 10:09:38 +0200
commit2e78aa4f56e6dd5f85a1f8de37b47e30d112b2db (patch)
treee014a4f0519ba52ac643c16e75885cbbe21ef4f2 /addons/web/static/src/js/core/domain.js
parentf80bbb4b2a1230ba543e97d3da01c7b2c52d24cc (diff)
[FIX] web: domain: quarter and last quarter
Before this commit, it was not possible to compare data if the time range selected was quarter or last quarter. String and integer was concatenated and the returned domain to evaluate was wrong: -3 3 - (context_today().month - 1) % 3 instead of: -3 + 3 - (context_today().month - 1) % 3 Offset period param is always an integer but it's not the case of boundary params. For 'quarter' and 'last quarter', it's an expression to evaluate. Anyway, this part of code will be refactored in a while but it's important to make the test to avoid this king of issue.
Diffstat (limited to 'addons/web/static/src/js/core/domain.js')
-rw-r--r--addons/web/static/src/js/core/domain.js12
1 files changed, 5 insertions, 7 deletions
diff --git a/addons/web/static/src/js/core/domain.js b/addons/web/static/src/js/core/domain.js
index 01d9aaee8ff..c31feb61a8f 100644
--- a/addons/web/static/src/js/core/domain.js
+++ b/addons/web/static/src/js/core/domain.js
@@ -244,18 +244,16 @@ var Domain = collections.Tree.extend({
function makeInterval () {
switch (comparisonPeriod) {
case 'previous_period':
- _.map(offsetPeriodParams, function (value, key) {
- if (_.isNumber(value)) {
+ _.each(offsetPeriodParams, function (value, key) {
+ if (!leftBoundaryParams[key] ||_.isNumber(leftBoundaryParams[key])) {
leftBoundaryParams[key] = value + (leftBoundaryParams[key] || 0);
} else {
- leftBoundaryParams[key] = value + ' + ' + (leftBoundaryParams[key] || 0);
+ leftBoundaryParams[key] = value + ' + ' + leftBoundaryParams[key];
}
- });
- _.map(offsetPeriodParams, function (value, key) {
- if (_.isNumber(value)) {
+ if (!rightBoundaryParams[key] || _.isNumber(rightBoundaryParams[key])) {
rightBoundaryParams[key] = value + (rightBoundaryParams[key] || 0);
} else {
- rightBoundaryParams[key] = value + ' + ' + (rightBoundaryParams[key] || 0);
+ rightBoundaryParams[key] = value + ' + ' + rightBoundaryParams[key];
}
});
break;