[MERGE] Merged trunk-trigger-on_saved.

bzr revid: vta@openerp.com-20121010132543-1363lzujopqo0wo7
This commit is contained in:
vta vta@openerp.com 2012-10-10 15:25:43 +02:00
commit 709eca0aa6
3 changed files with 8 additions and 5 deletions

View File

@ -870,7 +870,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
self.force_dirty = false;
// Write save
save_deferral = self.dataset.write(self.datarecord.id, values, {}).pipe(function(r) {
return self.on_saved(r);
return self.record_saved(r);
}, null);
}
return save_deferral;
@ -897,12 +897,15 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
*
* @param {Object} r result of the write function.
*/
on_saved: function(r) {
record_saved: function(r) {
var self = this;
if (!r) {
// should not happen in the server, but may happen for internal purpose
this.trigger('record_saved', r);
return $.Deferred().reject();
} else {
return $.when(this.reload()).pipe(function () {
self.trigger('record_saved', r);
return r;
});
}
@ -1640,7 +1643,7 @@ instance.web.form.FormDialog = instance.web.Dialog.extend({
});
this.form.appendTo(this.$el);
this.form.on('record_created', self, this.on_form_dialog_saved);
this.form.on_saved.add_last(this.on_form_dialog_saved);
this.form.on('record_saved', this, this.on_form_dialog_saved);
return this;
},
select_id: function(id) {

View File

@ -459,7 +459,7 @@ instance.web_calendar.CalendarFormDialog = instance.web.Dialog.extend({
});
var def = this.form.appendTo(this.$el);
this.form.on('record_created', self, this.on_form_dialog_saved);
this.form.on_saved.add_last(this.on_form_dialog_saved);
this.form.on('record_saved', self, this.on_form_dialog_saved);
this.form.on_button_cancel = function() {
self.close();
}

View File

@ -673,7 +673,7 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
var am = instance.webclient.action_manager;
var form = am.dialog_widget.views.form.controller;
form.on("on_button_cancel", self, am.dialog.on_close);
form.on_saved.add_last(function() {
form.on('record_saved', self, function() {
am.dialog.on_close();
self.view.do_reload();
});