diff options
| author | Aaron Bohy <aab@odoo.com> | 2017-04-14 16:46:03 +0200 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2017-04-14 22:36:55 +0200 |
| commit | bf29aab3bad81c0f99b471b1ed0d42804c13abbe (patch) | |
| tree | b6182b7020e14d286df3e64b1f889c367391c1c4 /addons/web/static/src/js/views/basic/basic_model.js | |
| parent | a6ce395f302356ffa304ad500f24d71cff9174a9 (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.js | 13 |
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, }); }); |
