From 317025d3fb778bcfcc3f56cb85ff6ab57cf3f483 Mon Sep 17 00:00:00 2001 From: Patrick Hoste Date: Wed, 13 Nov 2019 10:30:40 +0000 Subject: [PATCH] [IMP] web: support disable_multiple_selection parameter when opening the o2m dialog PURPOSE Sometimes we want to limit selection of 2many fields to a single record at a time. For example when creating marketing automation activities we want users to create them one at a time to ease linking between them (parent / children relationships). Indeed 2many subrecords have to be created before being selected in other 2many subrecords (i.e. create an activity to set it as parent of another activity). SPECIFICATIONS The open_one2many_record trigger method now accets disable_multiple_selection option in parameter to pass it to the FormViewDialog constructor. LINKS Task ID-2087993 COM PR odoo/odoo#40177 ENT PR odoo/enterprise#6675 Signed-off-by: Thibault Delavallee (tde) --- addons/web/static/src/js/fields/relational_fields.js | 2 ++ addons/web/static/src/js/views/form/form_controller.js | 1 + 2 files changed, 3 insertions(+) diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js index 02cb6356658..37fdbb1e454 100644 --- a/addons/web/static/src/js/fields/relational_fields.js +++ b/addons/web/static/src/js/fields/relational_fields.js @@ -1908,6 +1908,7 @@ var FieldOne2Many = FieldX2Many.extend({ parentID: this.value.id, viewInfo: this.view, deletable: this.activeActions.delete && params.deletable && this.canDelete, + disable_multiple_selection: params.disable_multiple_selection, })); }, @@ -1968,6 +1969,7 @@ var FieldOne2Many = FieldX2Many.extend({ } else { this._openFormDialog({ context: data.context && data.context[0], + disable_multiple_selection: data.disable_multiple_selection, on_saved: function (record) { self._setValue({ operation: 'ADD', id: record.id }); }, diff --git a/addons/web/static/src/js/views/form/form_controller.js b/addons/web/static/src/js/views/form/form_controller.js index 0f38649d0bc..05745eb507f 100644 --- a/addons/web/static/src/js/views/form/form_controller.js +++ b/addons/web/static/src/js/views/form/form_controller.js @@ -617,6 +617,7 @@ var FormController = BasicController.extend({ parentID: data.parentID, readonly: data.readonly, deletable: record ? data.deletable : false, + disable_multiple_selection: data.disable_multiple_selection, recordID: record && record.id, res_id: record && record.res_id, res_model: data.field.relation,