From 1534feb8f72a242f1c7969c5638ddbb3b56d37ec Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Tue, 14 Aug 2012 12:00:49 +0200 Subject: [PATCH] [IMP] ir_ui_view: somewhat better `type` functional field implementation. bzr revid: vmt@openerp.com-20120814100049-dngykdg5l21q9vvp --- openerp/addons/base/ir/ir_ui_view.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/openerp/addons/base/ir/ir_ui_view.py b/openerp/addons/base/ir/ir_ui_view.py index 62981f3ee8c..b2805884f18 100644 --- a/openerp/addons/base/ir/ir_ui_view.py +++ b/openerp/addons/base/ir/ir_ui_view.py @@ -50,15 +50,13 @@ class view(osv.osv): _name = 'ir.ui.view' 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: + result = {} + for record in self.browse(cr, uid, ids, context): + # Get the type from the inherited view if any. if record.inherit_id: result[record.id] = record.inherit_id.type + else: + result[record.id] = etree.fromstring(record.arch.encode('utf8')).tag return result _columns = {