diff options
| author | Christophe Matthieu <chm@odoo.com> | 2015-05-26 16:51:09 +0200 |
|---|---|---|
| committer | Christophe Matthieu <chm@odoo.com> | 2015-05-26 16:51:09 +0200 |
| commit | b5ba4b4d705a7d29f8f36da16e7bf0ba6c655776 (patch) | |
| tree | 860debf60781cd8cf5baaab159d7a7bfee2cdddd /addons/web/static/src/js/views/form_relational_widgets.js | |
| parent | 6fe928a54b6aa39f46db5c38740aaf2d43b131ab (diff) | |
[FIX] web: form_relational_widgets.js: when a user create a line in a one2many field, the dataset_changed is triggered before the blur of the editable list. Some values (with required for eg) are not valid and the on_change is not triggered, change commit_value to wait the trigger and keep the deferred.
Diffstat (limited to 'addons/web/static/src/js/views/form_relational_widgets.js')
| -rw-r--r-- | addons/web/static/src/js/views/form_relational_widgets.js | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/addons/web/static/src/js/views/form_relational_widgets.js b/addons/web/static/src/js/views/form_relational_widgets.js index cc326907f1a..a572e1b0ec6 100644 --- a/addons/web/static/src/js/views/form_relational_widgets.js +++ b/addons/web/static/src/js/views/form_relational_widgets.js @@ -883,7 +883,13 @@ var FieldOne2Many = AbstractManyField.extend({ commit_value: function() { var view = this.get_active_view(); if (view && view.type === "list" && view.controller.__focus) { - return view.controller._on_blur_one2many(true); + var def = $.Deferred(); + view.controller._on_blur_one2many(true).always(function () { + setTimeout(function () {def.resolve();},0); + }, function () { + setTimeout(function () {def.reject();},0); + }); + return def; } return $.when(false); }, @@ -914,7 +920,9 @@ var One2ManyDataSet = data.BufferedDataSet.extend({ var self = this; var def = this._super(data, options); def.then(function (id) { - self.trigger("dataset_changed", id, data, options); + setTimeout(function () { + self.trigger("dataset_changed", id, data, options); + },0); }); return def; }, |
