diff options
| author | Christophe Matthieu <chm@odoo.com> | 2017-03-13 11:54:30 +0100 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2017-04-11 19:44:38 +0200 |
| commit | fc8cfc57627bf57686b7e93749c8b4f9a05622f5 (patch) | |
| tree | 0965bd9829e412d5fe5ff989364c75d679bc6640 /addons/web/static/src/js/views/basic/basic_model.js | |
| parent | d2f6e705a09a26a20656ab652043383c12981666 (diff) | |
[FIX] web: fix crash in one2many in one2many
Before this fix we can not use a one2many field in a list view one2many
field, because the one2many and many2many were not converted to datapoint.
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 | 21 |
1 files changed, 21 insertions, 0 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 afac5c1c5ff..2cfa96a3015 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -2110,6 +2110,27 @@ var BasicModel = AbstractModel.extend({ // add many2one records self._parseServerData(list.fieldNames, dataPoint.fields, dataPoint.data); list._cache[id] = dataPoint.id; + + _.each(list.fieldNames, function (fieldName) { + var field = dataPoint.fields[fieldName]; + var val = dataPoint.data[fieldName]; + if (field.type === 'one2many' || field.type === 'many2many') { + var r = self._makeDataPoint({ + count: val.length, + fieldAttrs: field.fieldAttrs, + fields: field.relatedFields, + limit: field.limit, + modelName: field.relation, + res_ids: val, + static: true, + type: 'list', + parentID: list.id, + rawContext: field.context, + relationField: field.relation_field, + }); + dataPoint.data[fieldName] = r.id; + } + }); } list.data.push(dataPoint.id); }); |
