From 90cf822d44d113119031287b9058d19e93415cc2 Mon Sep 17 00:00:00 2001 From: Tom Date: Sat, 14 Dec 2024 14:32:51 +0100 Subject: [PATCH] [FIX] [16.0] defuse possible endless loop in groupby rendering The default Odoo Journal Items view (account.move.line tree view) contains a component to add a button next to the partner name on the grouping header. When one of the custom modules defines a field called "partner_id" on the "res.partner" model, an endless loop occurs, because the groupby tag is handled again in the nested view postprocessing call and the condition to not handle the groupby tag in the nested call is flawed. The real solution would probably be to render only the child items underneath the groupby tag, but this solution works also. --- odoo/addons/base/models/ir_ui_view.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/odoo/addons/base/models/ir_ui_view.py b/odoo/addons/base/models/ir_ui_view.py index c05d8132a2b98..146192a6821ff 100644 --- a/odoo/addons/base/models/ir_ui_view.py +++ b/odoo/addons/base/models/ir_ui_view.py @@ -1316,10 +1316,10 @@ def _postprocess_tag_groupby(self, node, name_manager, node_info): # contain fields on the comodel name = node.get('name') field = name_manager.model._fields.get(name) - if not field or not field.comodel_name: + if self.env.context.get('no_nested_groupby') or not field or not field.comodel_name: return # post-process the node as a nested view, and associate it to the field - self._postprocess_view(node, field.comodel_name, editable=False, parent_name_manager=name_manager) + self.with_context(no_nested_groupby=True)._postprocess_view(node, field.comodel_name, editable=False, parent_name_manager=name_manager) name_manager.has_field(node, name) def _postprocess_tag_label(self, node, name_manager, node_info):