summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@odoo.com>2017-03-13 11:54:30 +0100
committerAaron Bohy <aab@odoo.com>2017-04-11 19:44:38 +0200
commitfc8cfc57627bf57686b7e93749c8b4f9a05622f5 (patch)
tree0965bd9829e412d5fe5ff989364c75d679bc6640 /addons/web/static/src
parentd2f6e705a09a26a20656ab652043383c12981666 (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')
-rw-r--r--addons/web/static/src/js/views/basic/basic_model.js21
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);
});