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('''\
+ + - @@ -109,19 +110,11 @@ class test_view_validation(unittest2.TestCase): assert not valid_att_in_form(invalid_form) assert valid_att_in_form(valid_form) - def test_graph_field_validation(self): + def test_graph_validation(self): assert not valid_field_in_graph(invalid_graph) assert valid_field_in_graph(valid_graph) - def test_graph_string_validation(self): - assert not valid_field_in_graph(invalid_graph) - assert valid_field_in_graph(valid_graph) - - def test_tree_field_validation(self): - assert not valid_field_in_tree(invalid_tree) - assert valid_field_in_tree(valid_tree) - - def test_tree_string_validation(self): + def test_tree_validation(self): assert not valid_field_in_tree(invalid_tree) assert valid_field_in_tree(valid_tree) @@ -133,18 +126,6 @@ class test_view_validation(unittest2.TestCase): assert not valid_type_in_col(invalid_form) assert valid_type_in_col(valid_form) - def test_form_view(self): - assert not valid_view(invalid_form) - assert valid_view(valid_form) - - def test_tree_view(self): - assert not valid_view(invalid_tree) - assert valid_view(valid_tree) - - def test_graph_view(self): - assert not valid_view(invalid_graph) - assert valid_view(valid_graph) - if __name__ == '__main__': unittest2.main()