diff --git a/openerp/addons/base/ir/ir_ui_view.py b/openerp/addons/base/ir/ir_ui_view.py index 2baf988297f..a7614ab496c 100644 --- a/openerp/addons/base/ir/ir_ui_view.py +++ b/openerp/addons/base/ir/ir_ui_view.py @@ -74,10 +74,26 @@ class view(osv.osv): _order = "priority,name" def _check_xml(self, cr, uid, ids, context=None): + def root_view(record): + if not record.inherit_id: + return record + else: + parent = self.browse(cr, uid, record.inherit_id.id, context) + return root_view(parent) + def call_view(record): + try: + root = root_view(record) + self.pool.get(root.model).fields_view_get(cr, uid, view_id=root.id, view_type=root.type, context=context) + return True + except: + _logger.exception("Can't obtain view description for model: %s (view id: %s).", record.model, record.id) + return False for view in self.browse(cr, uid, ids, context): + return call_view(view) + + # TODO The following code should be executed (i.e. no early return above). + # TODO The view.rng file can be read only once! eview = etree.fromstring(view.arch.encode('utf8')) - if eview.get('layout') or eview.get('validate'): - continue frng = tools.file_open(os.path.join('base','rng','view.rng')) try: relaxng_doc = etree.parse(frng) diff --git a/openerp/addons/base/module/wizard/base_module_upgrade.py b/openerp/addons/base/module/wizard/base_module_upgrade.py index 3b7df0016bd..a9486a9a929 100644 --- a/openerp/addons/base/module/wizard/base_module_upgrade.py +++ b/openerp/addons/base/module/wizard/base_module_upgrade.py @@ -38,6 +38,7 @@ class base_module_upgrade(osv.osv_memory): if view_type != 'form': return res + context = {} if context is None else context record_id = context and context.get('active_id', False) or False active_model = context.get('active_model') if (not record_id) or (not active_model): diff --git a/openerp/addons/base/res/res_config.xml b/openerp/addons/base/res/res_config.xml index 2da5dc32e8e..136b2e89a7c 100644 --- a/openerp/addons/base/res/res_config.xml +++ b/openerp/addons/base/res/res_config.xml @@ -41,7 +41,6 @@ -