[FIX] Fixed on_saved.

bzr revid: vta@openerp.com-20121010132049-uuqru2c0k81s3o90
This commit is contained in:
vta vta@openerp.com 2012-10-10 15:20:49 +02:00
parent 4dd9a36f6e
commit 94ac244a22
3 changed files with 8 additions and 6 deletions

View File

@ -131,7 +131,6 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
e.preventDefault(); e.preventDefault();
} }
}); });
self.on("on_rec_save", self, self.on_saved);
}, },
destroy: function() { destroy: function() {
_.each(this.get_widgets(), function(w) { _.each(this.get_widgets(), function(w) {
@ -869,7 +868,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
self.force_dirty = false; self.force_dirty = false;
// Write save // Write save
save_deferral = self.dataset.write(self.datarecord.id, values, {}).pipe(function(r) { save_deferral = self.dataset.write(self.datarecord.id, values, {}).pipe(function(r) {
return self.trigger('on_rec_save', r); return self.record_saved(r);
}, null); }, null);
} }
return save_deferral; return save_deferral;
@ -896,12 +895,15 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
* *
* @param {Object} r result of the write function. * @param {Object} r result of the write function.
*/ */
on_saved: function(r) { record_saved: function(r) {
var self = this;
if (!r) { if (!r) {
// should not happen in the server, but may happen for internal purpose // should not happen in the server, but may happen for internal purpose
this.trigger('record_saved', r);
return $.Deferred().reject(); return $.Deferred().reject();
} else { } else {
return $.when(this.reload()).pipe(function () { return $.when(this.reload()).pipe(function () {
self.trigger('record_saved', r);
return r; return r;
}); });
} }
@ -1629,7 +1631,7 @@ instance.web.form.FormDialog = instance.web.Dialog.extend({
}); });
this.form.appendTo(this.$el); this.form.appendTo(this.$el);
this.form.on_created.add_last(this.on_form_dialog_saved); this.form.on_created.add_last(this.on_form_dialog_saved);
this.form.on('on_rec_save', this, this.on_form_dialog_saved); this.form.on('record_saved', this, this.on_form_dialog_saved);
return this; return this;
}, },
select_id: function(id) { 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); var def = this.form.appendTo(this.$el);
this.form.on_created.add_last(this.on_form_dialog_saved); this.form.on_created.add_last(this.on_form_dialog_saved);
this.form.on('on_rec_save', self, this.on_form_dialog_saved); this.form.on('record_saved', self, this.on_form_dialog_saved);
this.form.on_button_cancel = function() { this.form.on_button_cancel = function() {
self.close(); self.close();
} }

View File

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