From b70b02bc5138d7f5f4b70433cb47e28c39f1f953 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 12 Apr 2011 15:15:22 +0200 Subject: [PATCH] [IMP] form: switch to new record mode when DataSet#index == null bzr revid: fme@openerp.com-20110412131522-6b7rqb9prhdzksup --- addons/base/static/src/js/form.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 5338e9f9335..37fe96606c6 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -60,8 +60,19 @@ openerp.base.FormView = openerp.base.Controller.extend( /** @lends openerp.base } }, do_show: function () { - this.dataset.read_index(_.keys(this.fields_view.fields), this.on_record_loaded); - this.$element.show(); + var self = this; + this.do_update_pager.add({ + unique: true, + callback: function() { + self.$element.show(); + } + }); + if (this.dataset.index === null) { + // null index means we should start a new record + this.on_button_new(); + } else { + this.dataset.read_index(_.keys(this.fields_view.fields), this.on_record_loaded); + } }, do_hide: function () { this.$element.hide(); @@ -287,9 +298,7 @@ openerp.base.FormView = openerp.base.Controller.extend( /** @lends openerp.base if (this.datarecord.id) { this.dataset.read_index(_.keys(this.fields_view.fields), this.on_record_loaded); } else { - this.dataset.default_get(_.keys(this.fields), function(result) { - self.on_record_loaded(result.result); - }); + this.on_button_new(); } } });