diff options
| author | Aaron Bohy <aab@odoo.com> | 2017-04-05 11:32:56 +0200 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2017-04-11 19:44:38 +0200 |
| commit | d0f321d6cc198045ff796865d94ddd15bd6d0b99 (patch) | |
| tree | bca09205acf450a8932bafd27f554114c0fdf867 /addons/web/static/src/js | |
| parent | bc89bb79d2eac7db2861127bc41dcaf131568d4b (diff) | |
[FIX] web: Form: don't discard onchange when editing a o2m
Assume that there is an onchange on a form view that upates the
records of a one2many field. Before this rev., if the user edited
one of those one2many records (in a dialog) after the onchange,
the onchange values were lost.
Diffstat (limited to 'addons/web/static/src/js')
| -rw-r--r-- | addons/web/static/src/js/views/basic/basic_model.js | 6 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/basic/basic_view.js | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js index 47d5cee5c9c..c71ac81e0d9 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -504,6 +504,8 @@ var BasicModel = AbstractModel.extend({ * * @param {string} id local id for a resource * @param {Object} [options] + * @param {boolean} [options.keepChanges=false] if true, doesn't discard the + * changes on the record before reloading it * @returns {Deferred -> string} resolves to the id of the resource */ reload: function (id, options) { @@ -520,7 +522,9 @@ var BasicModel = AbstractModel.extend({ }; return this._makeDefaultRecord(element.model, params); } - this.discardChanges(id); + if (!options.keepChanges) { + this.discardChanges(id); + } } if (options.context !== undefined) { diff --git a/addons/web/static/src/js/views/basic/basic_view.js b/addons/web/static/src/js/views/basic/basic_view.js index 46ecb5d7e38..d850b2b7a2f 100644 --- a/addons/web/static/src/js/views/basic/basic_view.js +++ b/addons/web/static/src/js/views/basic/basic_view.js @@ -66,6 +66,7 @@ var BasicView = AbstractView.extend({ if (fieldNames.length && !this.model.isNew(record.id)) { return this.model.reload(this.recordID, { fieldNames: fieldNames, + keepChanges: true, viewType: viewType, }); } else { |
