From 4dd9a36f6e88d23344deaecbf997fc2ec63a64cc Mon Sep 17 00:00:00 2001 From: ggh-openerp Date: Mon, 8 Oct 2012 16:33:46 +0530 Subject: [PATCH 1/2] [IMP] Remove add_last in on_saved method bzr revid: ggh@tinyerp.com-20121008110346-r0dzmjy3161bxglb --- addons/web/static/src/js/view_form.js | 5 +++-- addons/web_calendar/static/src/js/calendar.js | 2 +- addons/web_kanban/static/src/js/kanban.js | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index b41039361c0..ce2e1ac5689 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -131,6 +131,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM e.preventDefault(); } }); + self.on("on_rec_save", self, self.on_saved); }, destroy: function() { _.each(this.get_widgets(), function(w) { @@ -868,7 +869,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.trigger('on_rec_save', r); }, null); } return save_deferral; @@ -1628,7 +1629,7 @@ instance.web.form.FormDialog = instance.web.Dialog.extend({ }); this.form.appendTo(this.$el); this.form.on_created.add_last(this.on_form_dialog_saved); - this.form.on_saved.add_last(this.on_form_dialog_saved); + this.form.on('on_rec_save', this, this.on_form_dialog_saved); return this; }, select_id: function(id) { diff --git a/addons/web_calendar/static/src/js/calendar.js b/addons/web_calendar/static/src/js/calendar.js index 81533413312..37c49462b59 100644 --- a/addons/web_calendar/static/src/js/calendar.js +++ b/addons/web_calendar/static/src/js/calendar.js @@ -459,7 +459,7 @@ instance.web_calendar.CalendarFormDialog = instance.web.Dialog.extend({ }); var def = this.form.appendTo(this.$el); this.form.on_created.add_last(this.on_form_dialog_saved); - this.form.on_saved.add_last(this.on_form_dialog_saved); + this.form.on('on_rec_save', self, this.on_form_dialog_saved); this.form.on_button_cancel = function() { self.close(); } diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 41cc366226f..438b1f7cb14 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -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_button_cancel.add_last(am.dialog.on_close); - form.on_saved.add_last(function() { + form.on('on_rec_save', self, function() { am.dialog.on_close(); self.view.do_reload(); }); From 94ac244a221866f246542dac82a344a9df82c3a6 Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Wed, 10 Oct 2012 15:20:49 +0200 Subject: [PATCH 2/2] [FIX] Fixed on_saved. bzr revid: vta@openerp.com-20121010132049-uuqru2c0k81s3o90 --- addons/web/static/src/js/view_form.js | 10 ++++++---- addons/web_calendar/static/src/js/calendar.js | 2 +- addons/web_kanban/static/src/js/kanban.js | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index ce2e1ac5689..719c7146d45 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -131,7 +131,6 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM e.preventDefault(); } }); - self.on("on_rec_save", self, self.on_saved); }, destroy: function() { _.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; // Write save 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); } 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. */ - 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; }); } @@ -1629,7 +1631,7 @@ instance.web.form.FormDialog = instance.web.Dialog.extend({ }); this.form.appendTo(this.$el); 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; }, select_id: function(id) { diff --git a/addons/web_calendar/static/src/js/calendar.js b/addons/web_calendar/static/src/js/calendar.js index 37c49462b59..9042cf74003 100644 --- a/addons/web_calendar/static/src/js/calendar.js +++ b/addons/web_calendar/static/src/js/calendar.js @@ -459,7 +459,7 @@ instance.web_calendar.CalendarFormDialog = instance.web.Dialog.extend({ }); var def = this.form.appendTo(this.$el); 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() { self.close(); } diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 438b1f7cb14..ab742628bd0 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -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_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(); self.view.do_reload(); });