From 07d748787b6e3ba3d0722645e32f7e95060f06a8 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 2 Aug 2012 09:40:06 +0200 Subject: [PATCH] [IMP] make clicking of the 'Add a row' row in m2os save&create if there's a row being edited as requested by apr bzr revid: xmo@openerp.com-20120802074006-d843c10g9jal4nre --- addons/web/static/src/js/view_form.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 0aabfbb5480..8aa5ba7b743 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3488,10 +3488,23 @@ instance.web.form.One2ManyList = instance.web.ListView.List.extend({ colspan: columns, 'class': 'oe_form_field_one2many_list_row_add' }).text(_t("Add a row")) + .mousedown(function () { + // FIXME: needs to be an official API somehow + if (self.view.editor.is_editing()) { + self.view.__ignore_blur = true; + } + }) .click(function (e) { e.preventDefault(); e.stopPropagation(); - self.view.do_add_record(); + // FIXME: there should also be an API for that one + if (self.view.editor.form.__blur_timeout) { + clearTimeout(self.view.editor.form.__blur_timeout); + self.view.editor.form.__blur_timeout = false; + } + self.view.ensure_saved().then(function () { + self.view.do_add_record(); + }); }); this.$current.append( $('').append($cell))