From e703080b51626715896fcc75ecfeece3e7159254 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Mon, 18 Jul 2011 15:24:09 +0200 Subject: [PATCH] controllers is family form fixes bzr revid: al@openerp.com-20110718132409-tfk5p1mx0jnpc9kk --- addons/base/static/src/js/form.js | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 4acdeb86d03..de56d504adf 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -529,7 +529,7 @@ openerp.base.form.Widget = openerp.base.Controller.extend({ this.element_name = this.element_name || this.type; this.element_id = [this.view.element_id, this.element_name, this.view.widgets_counter++].join("_"); - this._super(this.view.session, this.element_id); + this._super(view, this.element_id); this.view.widgets[this.element_id] = this; this.children = node.children; @@ -1377,7 +1377,7 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({ var search_val = request.term; var self = this; - var dataset = new openerp.base.DataSetStatic(this.session, this.field.relation, self.build_context()); + var dataset = new openerp.base.DataSetStatic(this, this.field.relation, self.build_context()); dataset.name_search(search_val, self.build_domain(), 'ilike', this.limit + 1, function(data) { @@ -1419,7 +1419,7 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({ }, _quick_create: function(name) { var self = this; - var dataset = new openerp.base.DataSetStatic(this.session, this.field.relation, self.build_context()); + var dataset = new openerp.base.DataSetStatic(this, this.field.relation, self.build_context()); dataset.name_create(name, function(data) { self._change_int_ext_value(data); }).fail(function(error, event) { @@ -1431,7 +1431,7 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({ // all search/create popup handling _search_create_popup: function(view, ids, context) { var self = this; - var pop = new openerp.base.form.SelectCreatePopup(null, self.view.session); + var pop = new openerp.base.form.SelectCreatePopup(this); pop.select_element(self.field.relation,{ initial_ids: ids ? _.map(ids, function(x) {return x[0]}) : undefined, initial_view: view, @@ -1439,7 +1439,7 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({ }, self.build_domain(), new openerp.base.CompoundContext(self.build_context(), context || {})); pop.on_select_elements.add(function(element_ids) { - var dataset = new openerp.base.DataSetStatic(this.session, this.field.relation, self.build_context()); + var dataset = new openerp.base.DataSetStatic(this, this.field.relation, self.build_context()); dataset.name_get([element_ids[0]], function(data) { self._change_int_ext_value(data[0]); pop.stop(); @@ -1477,7 +1477,7 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({ self._change_int_ext_value(rval); }; if(typeof(value) === "number") { - var dataset = new openerp.base.DataSetStatic(this.session, this.field.relation, self.build_context()); + var dataset = new openerp.base.DataSetStatic(this, this.field.relation, self.build_context()); dataset.name_get([value], function(data) { real_set_value(data[0]); }).fail(function() {self.tmp_value = undefined;}); @@ -1561,7 +1561,7 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({ var self = this; - this.dataset = new openerp.base.form.One2ManyDataSet(this.session, this.field.relation); + this.dataset = new openerp.base.form.One2ManyDataSet(this, this.field.relation); this.dataset.o2m = this; this.dataset.parent_view = this.view; this.dataset.on_change.add_last(function() { @@ -1585,7 +1585,7 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({ }); this.views = views; - this.viewmanager = new openerp.base.ViewManager(this.view.session, + this.viewmanager = new openerp.base.ViewManager(this.view, this.element_id, this.dataset, views); this.viewmanager.registry = openerp.base.views.clone({ list: 'openerp.base.form.One2ManyListView' @@ -1706,7 +1706,7 @@ openerp.base.form.One2ManyListView = openerp.base.ListView.extend({ this._super.apply(this, arguments); } else { var self = this; - var pop = new openerp.base.form.SelectCreatePopup(null, self.o2m.view.session); + var pop = new openerp.base.form.SelectCreatePopup(this); pop.select_element(self.o2m.field.relation,{ initial_view: "form", alternative_form_view: self.o2m.field.views ? self.o2m.field.views["form"] : undefined, @@ -1752,15 +1752,13 @@ openerp.base.form.FieldMany2Many = openerp.base.form.Field.extend({ var self = this; - this.dataset = new openerp.base.form.Many2ManyDataSet( - this.session, this.field.relation); + this.dataset = new openerp.base.form.Many2ManyDataSet( this, this.field.relation); this.dataset.m2m = this; this.dataset.on_unlink.add_last(function(ids) { self.on_ui_change(); }); - this.list_view = new openerp.base.form.Many2ManyListView( - null, this.view.session, this.list_id, this.dataset, false, { + this.list_view = new openerp.base.form.Many2ManyListView(this, this.list_id, this.dataset, false, { 'addable': 'Add', 'selectable': self.multi_selection }); @@ -1803,8 +1801,7 @@ openerp.base.form.Many2ManyDataSet = openerp.base.DataSetStatic.extend({ openerp.base.form.Many2ManyListView = openerp.base.ListView.extend({ do_add_record: function () { - var pop = new openerp.base.form.SelectCreatePopup( - null, this.m2m_field.view.session); + var pop = new openerp.base.form.SelectCreatePopup(this); pop.select_element(this.model, {}, new openerp.base.CompoundDomain(this.m2m_field.build_domain(), ["!", ["id", "in", this.m2m_field.dataset.ids]]), this.m2m_field.build_context()); @@ -1895,7 +1892,7 @@ openerp.base.form.SelectCreatePopup = openerp.base.BaseWidget.extend({ $sbutton.click(function() { self.on_select_elements(self.selected_ids); }); - self.view_list = new openerp.base.form.SelectCreateListView( null, self.session, + self.view_list = new openerp.base.form.SelectCreateListView(this, self.element_id + "_view_list", self.dataset, false, {'deletable': false}); self.view_list.popup = self;