[FIX] web_editor, website: avoid returning children of inactive view
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) <jke@openerp.com>
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user