diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index dc631c1256a..de9006c42a2 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -1086,8 +1086,9 @@ openerp.base.form.Many2ManyListView = openerp.base.ListView.extend({ openerp.base.form.Many2XSelectPopup = openerp.base.BaseWidget.extend({ identifier_prefix: "many2xselectpopup", template: "Many2XSelectPopup", - select_element: function(model) { + select_element: function(model, dataset) { this.model = model; + this.dataset = dataset var html = this.render(); jQuery(html).dialog({title: '', modal: true, @@ -1096,7 +1097,9 @@ openerp.base.form.Many2XSelectPopup = openerp.base.BaseWidget.extend({ }, start: function() { this._super(); - this.dataset = new openerp.base.DataSetSearch(this.session, this.model); + if (!this.dataset) { + this.dataset = new openerp.base.DataSetSearch(this.session, this.model); + } this.setup_search_view(); }, setup_search_view: function() { diff --git a/addons/base/static/src/js/m2o.js b/addons/base/static/src/js/m2o.js index d2e369eb8ac..84eb3ea2036 100644 --- a/addons/base/static/src/js/m2o.js +++ b/addons/base/static/src/js/m2o.js @@ -55,7 +55,7 @@ openerp.base.m2o = function(openerp){ if (ui.item.id == 'more') { self.dataset.ids = self.result_ids; self.dataset.count = self.dataset.ids.length; - self.dataset.domain = []; + self.dataset.domain = self.result_ids.length ? [["id", "in", self.dataset.ids]] : [] self.element.val(''); var pop = new openerp.base.form.Many2XSelectPopup(null, self.session); pop.select_element(self.relation, self.dataset);