From 775a3bca89d7eea4cb6f5b8289b1943caa96be25 Mon Sep 17 00:00:00 2001 From: "olt@tinyerp.com" <> Date: Fri, 23 Mar 2012 10:55:11 +0100 Subject: [PATCH] [FIX] fixes AttributeError NoneType object has no attribute is_transient (lp:908875) lp bug: https://launchpad.net/bugs/908875 fixed bzr revid: olt@tinyerp.com-20120323095511-3uswje6nqnzciqtm --- openerp/addons/base/ir/ir_model.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index fdce0d7c483..3d3ec12638a 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -67,7 +67,10 @@ class ir_model(osv.osv): models = self.browse(cr, uid, ids, context=context) res = dict.fromkeys(ids) for model in models: - res[model.id] = self.pool.get(model.model).is_transient() + if self.pool.get(model.model): + res[model.id] = self.pool.get(model.model).is_transient() + else: + _logger.error('Missing model %s' % (model.model, )) return res def _search_osv_memory(self, cr, uid, model, name, domain, context=None): @@ -508,7 +511,9 @@ class ir_model_access(osv.osv): model_name = model # TransientModel records have no access rights, only an implicit access rule - if self.pool.get(model_name).is_transient(): + if not (self.pool.get(model_name)): + _logger.error('Missing model %s' % (model_name, )) + elif self.pool.get(model_name).is_transient(): return True # We check if a specific rule exists