From ecceee639ed7bfdaf0e2e152fd147ee02e3281e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9ry=20Debongnie?= Date: Sun, 26 Feb 2017 09:24:45 +0100 Subject: [FIX] web: formview dialog can now properly evaluate context For this change, I had to pass the handle to the parent datapoint all the way from the controller to the new form view. --- addons/web/static/src/js/views/basic/basic_model.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'addons/web/static/src/js/views/basic') 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 3b35c994443..ec64eb9b7ad 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -1233,7 +1233,10 @@ var BasicModel = AbstractModel.extend({ }).then(function (result) { result = result[0]; record.data = _.extend({}, record.data, result); - return self._postprocess(record); + }).then(function () { + return self._fetchX2Manys(record, oldData, fieldNames).then(function () { + return self._postprocess(record); + }); }).then(function (record) { _.each(fieldNames, function (name) { var field = record.fields[name]; @@ -1262,10 +1265,7 @@ var BasicModel = AbstractModel.extend({ record.data[name] = fieldUtils.parse.datetime(val); } }); - }).then(function () { - return self._fetchX2Manys(record, oldData, fieldNames).then(function () { - return record; - }); + return record; }); }, /** @@ -1549,7 +1549,12 @@ var BasicModel = AbstractModel.extend({ */ _getContext: function (element, options) { var context = new Context(session.user_context, element.context); - context.set_eval_context(element.data); + var evalContext = this.get(element.id, {raw: true}).data; + if (element.parentID) { + var parent = this.get(element.parentID, {raw: true}); + _.extend(evalContext, {parent: parent.data}); + } + context.set_eval_context(evalContext); if (options && options.fieldName) { var attrs = element.fieldAttrs[options.fieldName]; if (attrs && attrs.context) { -- cgit v1.2.3