From 87a1b0a459f47f4f0aa0e71266e9c6fa2da24692 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Mon, 27 Jan 2014 21:53:26 +0100 Subject: [PATCH] [FIX] customize menu - regression introducted by elif - hide non relevant option - deterministic order of items bzr revid: al@openerp.com-20140127205326-0o1vgbf45mvxllgv --- addons/website/models/ir_ui_view.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/addons/website/models/ir_ui_view.py b/addons/website/models/ir_ui_view.py index 303691b7f42..fadcc8e1276 100644 --- a/addons/website/models/ir_ui_view.py +++ b/addons/website/models/ir_ui_view.py @@ -31,10 +31,9 @@ class view(osv.osv): if isinstance(view, basestring): mod_obj = self.pool.get("ir.model.data") m, n = view.split('.') - _, view = mod_obj.get_object_reference(cr, uid, m, n) + view = mod_obj.get_object(cr, uid, m, n, context=context) elif isinstance(view, (int, long)): - view_obj = self.pool.get("ir.ui.view") - view = view_obj.browse(cr, uid, view, context=context) + view = self.pool.get("ir.ui.view").browse(cr, uid, view, context=context) return view try: @@ -50,8 +49,10 @@ class view(osv.osv): todo = view.inherit_children_ids if options: todo += filter(lambda x: not x.inherit_id, view.inherited_option_ids) + # Keep options in a determinitic order whatever their enabled disabled status + todo.sort(lambda x,y:cmp(x.id,y.id)) for child_view in todo: - for r in self._views_get(cr, uid, child_view, options=options, context=context, root=False, stack_result=result): + for r in self._views_get(cr, uid, child_view, options=bool(child_view.inherit_id), context=context, root=False, stack_result=result): if r not in result: result.append(r) node = etree.fromstring(view.arch)