[fix] added save of o2m when using pager & when switching view

bzr revid: nicolas.vanhoren@openerp.com-20110727140332-p1blww1imh3irn6u
This commit is contained in:
niv-openerp 2011-07-27 16:03:32 +02:00
parent f93d975835
commit 0d9150bfa0
1 changed files with 14 additions and 9 deletions

View File

@ -1642,10 +1642,16 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({
controller.on_record_loaded.add_last(function() {
once.resolve();
});
controller.on_pager_action.add_first(function() {
self.save_form_view();
});
controller.$element.find(".oe_form_button_save_edit").hide();
}
self.is_started.resolve();
});
this.viewmanager.on_mode_switch.add_first(function() {
self.save_form_view();
});
setTimeout(function () {
self.viewmanager.start();
}, 0);
@ -1762,27 +1768,26 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({
return false;
},
is_valid: function() {
this.validate();
return this._super();
},
validate: function() {
this.invalid = false;
var self = this;
var view = self.viewmanager.views[self.viewmanager.active_view].controller;
if (self.viewmanager.active_view === "form") {
for (var f in view.fields) {
f = view.fields[f];
if (!f.is_valid()) {
return false;
this.invalid = true;
return;
}
}
}
return true;
},
is_dirty: function() {
if (!this.dataset)
return false;
this.save_form_view();
if (this.dataset.delete_all || this.dataset.to_create.length > 0 || this.dataset.to_write.length > 0
|| this.dataset.to_delete > 0) {
return true;
}
return false;
return this._super();
},
update_dom: function() {
this._super.apply(this, arguments);