summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/fields/relational_fields.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/fields/relational_fields.js')
-rw-r--r--addons/web/static/src/js/fields/relational_fields.js15
1 files changed, 8 insertions, 7 deletions
diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js
index 6da4e483d5b..b5d779039d6 100644
--- a/addons/web/static/src/js/fields/relational_fields.js
+++ b/addons/web/static/src/js/fields/relational_fields.js
@@ -402,8 +402,8 @@ var FieldMany2One = AbstractField.extend({
initial_ids: ids ? _.map(ids, function (x) { return x[0]; }) : undefined,
initial_view: view,
disable_multiple_selection: true,
- on_selected: function (element_ids) {
- self.reinitialize({id: element_ids[0]});
+ on_selected: function (records) {
+ self.reinitialize(records[0]);
self.activate();
}
})).open();
@@ -1177,15 +1177,16 @@ var FieldMany2Many = FieldX2Many.extend({
title: _t("Add: ") + this.string,
no_create: this.nodeOptions.no_create || !this.activeActions.create,
fields_view: this.attrs.views.form,
- on_selected: function (res_ids) {
- var new_ids = _.difference(res_ids, self.value.res_ids);
- if (new_ids.length) {
- var values = _.map(new_ids, function (id) {
+ on_selected: function (records) {
+ var resIDs = _.pluck(records, 'id');
+ var newIDs = _.difference(resIDs, self.value.res_ids);
+ if (newIDs.length) {
+ var values = _.map(newIDs, function (id) {
return {id: id};
});
self._setValue({
operation: 'ADD_M2M',
- ids: values
+ ids: values,
});
}
}