diff options
| author | Raphael Collet <rco@openerp.com> | 2015-11-20 10:33:22 +0100 |
|---|---|---|
| committer | Raphael Collet <rco@openerp.com> | 2015-11-23 10:20:32 +0100 |
| commit | 2c571f1114d983b656872261b71eadb50df946ec (patch) | |
| tree | 43ae302d161e80ca10e1a5a2c2dd46375652f1c8 /addons/web/static/src/js/framework/data.js | |
| parent | 954f516fded49b501116a11f502742a46dfc1ca3 (diff) | |
[FIX] web: method `BufferedDataSet._update_cache` must purge `changes` from useless changes
Diffstat (limited to 'addons/web/static/src/js/framework/data.js')
| -rw-r--r-- | addons/web/static/src/js/framework/data.js | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/addons/web/static/src/js/framework/data.js b/addons/web/static/src/js/framework/data.js index 8dd34cd4b93..e92bbd98c53 100644 --- a/addons/web/static/src/js/framework/data.js +++ b/addons/web/static/src/js/framework/data.js @@ -761,6 +761,12 @@ var BufferedDataSet = DataSetStatic.extend({ _.extend(cached.from_read, options.from_read); _.extend(cached.changes, options.changes); _.extend(cached.readonly_fields, options.readonly_fields); + // discard values from cached.changes that are in cached.from_read + _.each(cached.changes, function (v, k) { + if (cached.from_read[k] === v) { + delete cached.changes[k]; + } + }); if (options.to_create !== undefined) cached.to_create = options.to_create; if (options.to_delete !== undefined) cached.to_delete = options.to_delete; } |
