summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/basic_model.js
diff options
context:
space:
mode:
authorAaron Bohy <aab@odoo.com>2017-04-14 16:46:03 +0200
committerAaron Bohy <aab@odoo.com>2017-04-14 22:36:55 +0200
commitbf29aab3bad81c0f99b471b1ed0d42804c13abbe (patch)
treeb6182b7020e14d286df3e64b1f889c367391c1c4 /addons/web/static/src/js/views/basic/basic_model.js
parenta6ce395f302356ffa304ad500f24d71cff9174a9 (diff)
[FIX] web: BasicModel: transmit fieldsInfo to children
The fieldsInfo attribute on the basic model's datapoints is used by to determine which fields need to be loaded for a record/list of records. This information wasn't correctly specified in some cases. As a result, the display_name of many2many fields (e.g. using widget many2many_tags) inside list views were fetched, and thus empty tags were displayed. No test is added by this commit, as it already makes a broken test pass (this test didn't pass since the previous commit).
Diffstat (limited to 'addons/web/static/src/js/views/basic/basic_model.js')
-rw-r--r--addons/web/static/src/js/views/basic/basic_model.js13
1 files changed, 9 insertions, 4 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 754f318f01c..12d6a1b27cf 100644
--- a/addons/web/static/src/js/views/basic/basic_model.js
+++ b/addons/web/static/src/js/views/basic/basic_model.js
@@ -1619,6 +1619,9 @@ var BasicModel = AbstractModel.extend({
var field = list.fields[fieldName];
var fieldInfo = list.fieldsInfo[list.viewType][fieldName];
var view = fieldInfo.views && fieldInfo.views[fieldInfo.mode];
+ var fieldsInfo = view ? view.fieldsInfo : fieldInfo.fieldsInfo;
+ var fields = view ? view.fields : fieldInfo.relatedFields;
+ var viewType = view ? view.type : fieldInfo.viewType;
// step 1: collect ids
var ids = [];
@@ -1626,12 +1629,13 @@ var BasicModel = AbstractModel.extend({
var record = self.localData[dataPoint];
ids = _.unique(ids.concat(record.data[fieldName] || []));
var m2mList = self._makeDataPoint({
- fieldsInfo: fieldInfo.fieldsInfo || view && view.fieldsInfo,
- fields: fieldInfo.relatedFields || view && view.fields,
+ fieldsInfo: fieldsInfo,
+ fields: fields,
modelName: field.relation,
res_ids: record.data[fieldName],
static: true,
type: 'list',
+ viewType: viewType,
});
record.data[fieldName] = m2mList.id;
});
@@ -1653,8 +1657,9 @@ var BasicModel = AbstractModel.extend({
return self._makeDataPoint({
modelName: field.relation,
data: result,
- fieldsInfo: fieldInfo.fieldsInfo || view && view.fieldsInfo,
- fields: fieldInfo.relatedFields || view && view.fields,
+ fields: fields,
+ fieldsInfo: fieldsInfo,
+ viewType: viewType,
});
});