diff options
| author | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-07-04 10:38:58 +0200 |
|---|---|---|
| committer | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-07-04 10:38:58 +0200 |
| commit | c8e8b7cc26098bca2d0215222394c285c98b2d8c (patch) | |
| tree | 40042112cb351cb04313b35942d7542bbecf9272 /addons/base/static/src/js | |
| parent | 63ebd1cdb30dfca27e897ae03ddfa49fb2c824ce (diff) | |
[fix] small bug with o2m & editable lists
bzr revid: nicolas.vanhoren@openerp.com-20110704083858-n9d4bopimfmhdg32
Diffstat (limited to 'addons/base/static/src/js')
| -rw-r--r-- | addons/base/static/src/js/data.js | 1 | ||||
| -rw-r--r-- | addons/base/static/src/js/form.js | 34 |
2 files changed, 19 insertions, 16 deletions
diff --git a/addons/base/static/src/js/data.js b/addons/base/static/src/js/data.js index a8cdfb7f201..ff74fa1639f 100644 --- a/addons/base/static/src/js/data.js +++ b/addons/base/static/src/js/data.js @@ -483,7 +483,6 @@ openerp.base.BufferedDataSet = openerp.base.DataSetStatic.extend({ var cached = {id:_.uniqueId(this.virtual_id_prefix), values: data}; this.to_create.push(cached); this.cache.push(cached); - this.on_change(); var to_return = $.Deferred().then(callback); setTimeout(function() {to_return.resolve({result: cached.id});}, 0); return to_return.promise(); diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index bfa62f102cc..f67543503d2 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -1585,22 +1585,26 @@ openerp.base.form.One2ManyDataSet = openerp.base.BufferedDataSet.extend({ openerp.base.form.One2ManyListView = openerp.base.ListView.extend({ do_add_record: function () { - var self = this; - var pop = new openerp.base.form.SelectCreatePopup(null, self.o2m.view.session); - pop.select_element(self.o2m.field.relation,{ - initial_view: "form", - alternative_form_view: self.o2m.field.views ? self.o2m.field.views["form"] : undefined, - auto_create: false, - parent_view: self.o2m.view - }, self.o2m.build_domain(), self.o2m.build_context()); - pop.on_create.add(function(data) { - self.o2m.dataset.create(data, function(r) { - self.o2m.dataset.set_ids(self.o2m.dataset.ids.concat([r.result])); - self.o2m.dataset.on_change(); - pop.stop(); - self.o2m.reload_current_view(); + if (this.options.editable) { + this._super.apply(this, arguments); + } else { + var self = this; + var pop = new openerp.base.form.SelectCreatePopup(null, self.o2m.view.session); + pop.select_element(self.o2m.field.relation,{ + initial_view: "form", + alternative_form_view: self.o2m.field.views ? self.o2m.field.views["form"] : undefined, + auto_create: false, + parent_view: self.o2m.view + }, self.o2m.build_domain(), self.o2m.build_context()); + pop.on_create.add(function(data) { + self.o2m.dataset.create(data, function(r) { + self.o2m.dataset.set_ids(self.o2m.dataset.ids.concat([r.result])); + self.o2m.dataset.on_change(); + pop.stop(); + self.o2m.reload_current_view(); + }); }); - }); + } } }); |
