diff --git a/openerp/addons/base/ir/ir_ui_view.py b/openerp/addons/base/ir/ir_ui_view.py index 7601c4f44fc..62981f3ee8c 100644 --- a/openerp/addons/base/ir/ir_ui_view.py +++ b/openerp/addons/base/ir/ir_ui_view.py @@ -52,6 +52,13 @@ class view(osv.osv): def _type_field(self, cr, uid, ids, name, args, context=None): records = self.browse(cr, uid, ids, context) result = dict((r.id, etree.fromstring(r.arch.encode('utf8')).tag) for r in records) + #NOTE: If we have inherited view the arch.tag will give us data and + # View mode will be undefined in case in hereit view we have view + # broken, Here for view which are inherited setting the parent view + # type. + for record in records: + if record.inherit_id: + result[record.id] = record.inherit_id.type return result _columns = { diff --git a/openerp/tests/test_view_validation.py b/openerp/tests/test_view_validation.py index c79bb367426..9c19e7b41d2 100644 --- a/openerp/tests/test_view_validation.py +++ b/openerp/tests/test_view_validation.py @@ -33,8 +33,9 @@ invalid_form = etree.parse(StringIO('''\ valid_form = etree.parse(StringIO('''\