From 5a971eca906ea07a126dc6f1d5c468053160fe73 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Fri, 5 Oct 2012 12:20:03 +0200 Subject: [PATCH] [FIX] ir: small fix to handle missing models when upgrading bzr revid: rco@openerp.com-20121005102003-16vbr0aive2mbtid --- openerp/addons/base/ir/ir_model.py | 4 +++- openerp/addons/base/ir/ir_ui_menu.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 74589003611..633db6de6a3 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -557,7 +557,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 diff --git a/openerp/addons/base/ir/ir_ui_menu.py b/openerp/addons/base/ir/ir_ui_menu.py index 4bbff5479c3..213cff18cc6 100644 --- a/openerp/addons/base/ir/ir_ui_menu.py +++ b/openerp/addons/base/ir/ir_ui_menu.py @@ -265,7 +265,7 @@ class ir_ui_menu(osv.osv): } if menu.action and menu.action.type in ('ir.actions.act_window','ir.actions.client') and menu.action.res_model: obj = self.pool.get(menu.action.res_model) - if obj._needaction: + if obj and obj._needaction: if menu.action.type=='ir.actions.act_window': dom = menu.action.domain and eval(menu.action.domain, {'uid': uid}) or [] else: