diff options
Diffstat (limited to 'addons/web/static/src/js/views/basic')
| -rw-r--r-- | addons/web/static/src/js/views/basic/basic_model.js | 7 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/basic/basic_renderer.js | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js index 42731bcf83b..64030cea866 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -360,6 +360,13 @@ var BasicModel = AbstractModel.extend({ if (this.isNew(element.id)) { delete element.res_id; } + var evalContext; + Object.defineProperty(element, 'evalContext', { + get: function () { + evalContext = evalContext || self._getEvalContext(record); + return evalContext; + }, + }); } if (element.type === 'list') { // apply changes if any diff --git a/addons/web/static/src/js/views/basic/basic_renderer.js b/addons/web/static/src/js/views/basic/basic_renderer.js index 25ba02530be..3f0c67c7e70 100644 --- a/addons/web/static/src/js/views/basic/basic_renderer.js +++ b/addons/web/static/src/js/views/basic/basic_renderer.js @@ -282,7 +282,7 @@ var BasicRenderer = AbstractRenderer.extend({ * @param {Object} record */ _computeModifiers: function (modifiersData, record) { - var evalContext = record.getEvalContext(); + var evalContext = record.evalContext; modifiersData.evaluatedModifiers[record.id] = _.mapObject(modifiersData.modifiers, function (modifier) { return new Domain(modifier, evalContext).compute(evalContext); |
