diff options
| author | Xavier Morel <xmo@openerp.com> | 2011-11-21 17:34:12 +0100 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2011-11-21 17:34:12 +0100 |
| commit | 89e5c72b6ea9e29b7f8a2e73b97e4cfa51e165f2 (patch) | |
| tree | dd5175a414ea5e4e7594e066631cf3e92d90c308 /addons/web/static/src/js | |
| parent | 64ce2476c14244aa9218df12f39590b0ef217fe4 (diff) | |
[ADD] cache eviction for buffereddataset on records on which call_button has been invoked
lp bug: https://launchpad.net/bugs/885679 fixed
bzr revid: xmo@openerp.com-20111121163412-jyvpoa9smrk4qy2g
Diffstat (limited to 'addons/web/static/src/js')
| -rw-r--r-- | addons/web/static/src/js/data.js | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/addons/web/static/src/js/data.js b/addons/web/static/src/js/data.js index 69d8fd9ddfd..0d3833ee835 100644 --- a/addons/web/static/src/js/data.js +++ b/addons/web/static/src/js/data.js @@ -730,6 +730,19 @@ openerp.web.BufferedDataSet = openerp.web.DataSetStatic.extend({ return_records(); } return completion.promise(); + }, + call_button: function (method, args, callback, error_callback) { + var id = args[0][0], index; + for(var i=0, len=this.cache.length; i<len; ++i) { + var record = this.cache[i]; + // if record we call the button upon is in the cache + if (record.id === id) { + // evict it so it gets reloaded from server + this.cache.splice(i, 1); + break; + } + } + return this._super(method, args, callback, error_callback); } }); openerp.web.BufferedDataSet.virtual_id_regex = /^one2many_v_id_.*$/; |
