From 065355150d00fc00a7d27a7e89b4fd3530fb2534 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Thu, 14 Dec 2023 14:04:39 +0100 Subject: [PATCH] [FIX] dms: Set the correct parent_id of directories in searchpanel If the parent directory is not in all the records we should not set parent_id because the user does not have access to parent. TT46388 --- dms/models/dms_file.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dms/models/dms_file.py b/dms/models/dms_file.py index 949273ef3..1d64eaa70 100644 --- a/dms/models/dms_file.py +++ b/dms/models/dms_file.py @@ -305,6 +305,7 @@ def search_panel_select_range(self, field_name, **kwargs): .with_context(directory_short_name=True) .search_read(domain, ["display_name", "parent_id"]) ) + all_record_ids = [rec["id"] for rec in comodel_records] field_range = {} enable_counters = kwargs.get("enable_counters") for record in comodel_records: @@ -313,7 +314,11 @@ def search_panel_select_range(self, field_name, **kwargs): record_values = { "id": record_id, "display_name": record["display_name"], - "parent_id": parent[0] if parent else False, + # If the parent directory is not in all the records we should not + # set parent_id because the user does not have access to parent. + "parent_id": ( + parent[0] if parent and parent[0] in all_record_ids else False + ), } if enable_counters: record_values["__count"] = 0