diff options
Diffstat (limited to 'addons/web/static/src/js/views/basic')
| -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 { |
