summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/data.js
diff options
context:
space:
mode:
authorDenis Ledoux <dle@openerp.com>2014-01-16 17:14:15 +0100
committerDenis Ledoux <dle@openerp.com>2014-01-16 17:14:15 +0100
commit5649e0bbf2350adad07e8ac642cce11ed3922aea (patch)
treecc1137e4d0ff67881c70d79c5a123be130bf8dc3 /addons/web/static/src/js/data.js
parent7826e495a1b306580caf09447a72c411ec03b549 (diff)
parent70e201b07e0530e6a67bf4dedbf1934ae199f523 (diff)
[MERGE] Forward-port of latest 7.0 bugfixes, up to rev. 9770 revid:chs@openerp.com-20140116154645-sy4zhdgqc48xaqbx
bzr revid: dle@openerp.com-20131224112612-5gjit5uu1aaaqstx bzr revid: dle@openerp.com-20140103094532-mbczi9ssr3gc90o1 bzr revid: dle@openerp.com-20140108105833-gblxqdw3if1gt35k bzr revid: dle@openerp.com-20140115121441-bskbyxxbc09ubavh bzr revid: dle@openerp.com-20140115165506-yuux9km39gbv7k4n bzr revid: dle@openerp.com-20140116161415-0y9m0kgavcytzj9z
Diffstat (limited to 'addons/web/static/src/js/data.js')
-rw-r--r--addons/web/static/src/js/data.js9
1 files changed, 9 insertions, 0 deletions
diff --git a/addons/web/static/src/js/data.js b/addons/web/static/src/js/data.js
index fe572dffbcb..fa276afa88f 100644
--- a/addons/web/static/src/js/data.js
+++ b/addons/web/static/src/js/data.js
@@ -939,6 +939,15 @@ instance.web.BufferedDataSet = instance.web.DataSetStatic.extend({
* @param {Object} id record to remove from the BDS's cache
*/
evict_record: function (id) {
+ // Don't evict records which haven't yet been saved: there is no more
+ // recent data on the server (and there potentially isn't any data),
+ // and this breaks the assumptions of other methods (that the data
+ // for new and altered records is both in the cache and in the to_write
+ // or to_create collection)
+ if (_(this.to_create.concat(this.to_write)).find(function (record) {
+ return record.id === id; })) {
+ return;
+ }
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