summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-10-31 19:22:21 +0100
committerChristophe Simonis <chs@odoo.com>2018-10-31 19:22:21 +0100
commit21eb31d804722912993f34105af9ee5f1a31e090 (patch)
tree49d6e23b17cfaa32350e11eb56f60ee76f151fe7 /addons/web/static/src/js/views/basic
parent4f3a20bb33d5c7c217e2c595a89588effb1425eb (diff)
parenta587325ca7a2da58cea5f1b8075426e92d114e61 (diff)
[MERGE] forward port branch 11.0 up to a587325ca7a
Diffstat (limited to 'addons/web/static/src/js/views/basic')
-rw-r--r--addons/web/static/src/js/views/basic/basic_model.js5
-rw-r--r--addons/web/static/src/js/views/basic/basic_view.js8
2 files changed, 11 insertions, 2 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 137ae428ed3..bb7a0a5c53c 100644
--- a/addons/web/static/src/js/views/basic/basic_model.js
+++ b/addons/web/static/src/js/views/basic/basic_model.js
@@ -3606,11 +3606,12 @@ var BasicModel = AbstractModel.extend({
*/
_postprocess: function (record, options) {
var self = this;
+ var viewType = options && options.viewType || record.viewType;
var defs = [];
_.each(record.getFieldNames(options), function (name) {
var field = record.fields[name];
- var fieldInfo = record.fieldsInfo[record.viewType][name] || {};
+ var fieldInfo = record.fieldsInfo[viewType][name] || {};
var options = fieldInfo.options || {};
if (options.always_reload) {
if (record.fields[name].type === 'many2one' && record.data[name]) {
@@ -3619,7 +3620,7 @@ var BasicModel = AbstractModel.extend({
model: field.relation,
method: 'name_get',
args: [element.data.id],
- context: self._getContext(record, {fieldName: name}),
+ context: self._getContext(record, {fieldName: name, viewType: viewType}),
})
.then(function (result) {
element.data.display_name = result[0][1];
diff --git a/addons/web/static/src/js/views/basic/basic_view.js b/addons/web/static/src/js/views/basic/basic_view.js
index 93a88d27852..4d975d07bd3 100644
--- a/addons/web/static/src/js/views/basic/basic_view.js
+++ b/addons/web/static/src/js/views/basic/basic_view.js
@@ -150,6 +150,14 @@ var BasicView = AbstractView.extend({
}
}
}
+ // Many2one: context is not the same between the different views
+ // this means the result of a name_get could differ
+ if (fieldType === 'many2one') {
+ if (JSON.stringify(record.data[name].context) !==
+ JSON.stringify(fieldInfo.context)) {
+ fieldNames.push(name);
+ }
+ }
}
});