diff options
| author | Adrien Dieudonne <adr@odoo.com> | 2018-08-29 09:38:01 +0200 |
|---|---|---|
| committer | Adrien Dieudonne <adr@odoo.com> | 2018-08-31 09:53:00 +0200 |
| commit | 671155c37629c63f7b982b5e14ff20c170d9632e (patch) | |
| tree | f6021384a0d68c0b4d0be32105103008dd7fbc81 /addons/web/static/src/js/core/domain.js | |
| parent | 334b57fbf6ee05ecbf9c8b3082a0e4ed2732a8df (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.js | 12 |
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; |
