From cb3bf5509fdea893ce53b5c76104df1a31db6e70 Mon Sep 17 00:00:00 2001 From: Romain Derie Date: Wed, 24 Jul 2019 15:05:47 +0000 Subject: [PATCH] [FIX] web_editor, website: avoid returning children of inactive view MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this commit, for the following view tree: P (active) | I (inactive) | II (active) When calling `customize_template_get()` on 'P', it would wrongly return 'II'. It shouldn't, since its parent 'I' is inactive. Step to reproduce: - Go to /shop - Enable ecommerce categories - Enable Collapsible Cateogories - Disable ecommerce categories - Collapsible categories is still shown even if its parent got archived Test writen in 12.0 with #35154 closes odoo/odoo#35155 Signed-off-by: Jérémy Kersten (jke) --- addons/web_editor/models/ir_ui_view.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/web_editor/models/ir_ui_view.py b/addons/web_editor/models/ir_ui_view.py index 3aa6bac4713..3db92207c0e 100644 --- a/addons/web_editor/models/ir_ui_view.py +++ b/addons/web_editor/models/ir_ui_view.py @@ -168,10 +168,10 @@ class IrUiView(models.Model): if called_view not in views_to_return: views_to_return += self._views_get(called_view, options=options, bundles=bundles) - extensions = view.inherit_children_ids if not options: - # only active children - extensions = view.inherit_children_ids.filtered(lambda view: view.active) + return views_to_return + + extensions = view.inherit_children_ids # Keep options in a deterministic order regardless of their applicability for extension in extensions.sorted(key=lambda v: v.id):