summaryrefslogtreecommitdiff
path: root/addons/base/static/src/js
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2011-07-04 10:38:58 +0200
committerniv-openerp <nicolas.vanhoren@openerp.com>2011-07-04 10:38:58 +0200
commitc8e8b7cc26098bca2d0215222394c285c98b2d8c (patch)
tree40042112cb351cb04313b35942d7542bbecf9272 /addons/base/static/src/js
parent63ebd1cdb30dfca27e897ae03ddfa49fb2c824ce (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.js1
-rw-r--r--addons/base/static/src/js/form.js34
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();
+ });
});
- });
+ }
}
});