From 9b059a74d6f6ce62c6dd1589e9e1b63a5788daab Mon Sep 17 00:00:00 2001 From: Cecile Tonglet Date: Fri, 30 Nov 2012 15:08:07 +0100 Subject: [PATCH] [FIX] Empty ir.model.data cache on unlink bzr revid: cto@openerp.com-20121130140807-795h1jm501bmslky --- bin/addons/base/ir/ir_model.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py index d146856..80ae768 100644 --- a/bin/addons/base/ir/ir_model.py +++ b/bin/addons/base/ir/ir_model.py @@ -630,6 +630,20 @@ class ir_model_data(osv.osv): id = False return id + def clear_caches(self, cr): + """ Clears all orm caches on the object's methods + + :returns: itself + """ + self._get_id.clear_cache(cr.dbname) + self.get_object_reference.clear_cache(cr.dbname) + return self + + def unlink(self, cr, uid, ids, context=None): + """ Regular unlink method, but make sure to clear the caches. """ + self.clear_caches(cr) + return super(ir_model_data,self).unlink(cr, uid, ids, context=context) + def _update(self,cr, uid, model, module, values, xml_id=False, store=True, noupdate=False, mode='init', res_id=False, context=None): model_obj = self.pool.get(model) if not context: -- 1.7.10.4