Skip to content

Commit

Permalink
Merge PR #274 into 15.0
Browse files Browse the repository at this point in the history
Signed-off-by pedrobaeza
  • Loading branch information
OCA-git-bot committed Dec 13, 2023
2 parents 29e8373 + 658a899 commit 45ecd53
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 11 deletions.
36 changes: 25 additions & 11 deletions dms/models/dms_file.py
Original file line number Diff line number Diff line change
Expand Up @@ -295,22 +295,36 @@ def _search_panel_domain(self, field, operator, directory_id, comodel_domain=Fal

@api.model
def search_panel_select_range(self, field_name, **kwargs):
operator, directory_id = self._search_panel_directory(**kwargs)
if directory_id and field_name == "directory_id":
domain = [("parent_id", operator, directory_id)]
values = (
"""This method is overwritten to make it 'similar' to v13.
The goal is that the directory searchpanel shows all directories
(even if some folders have no files)."""
if field_name == "directory_id":
domain = kwargs.get("search_domain", [])
comodel_records = (
self.env["dms.directory"]
.with_context(directory_short_name=True)
.search_read(domain, ["display_name", "parent_id"])
)
return {
"parent_field": "parent_id",
"values": values if len(values) > 1 else [],
}
field_range = {}
enable_counters = kwargs.get("enable_counters")
for record in comodel_records:
record_id = record["id"]
parent = record["parent_id"]
record_values = {
"id": record_id,
"display_name": record["display_name"],
"parent_id": parent[0] if parent else False,
}
if enable_counters:
record_values["__count"] = 0
field_range[record_id] = record_values
if enable_counters:
res = super().search_panel_select_range(field_name, **kwargs)
for item in res["values"]:
field_range[item["id"]]["__count"] = item["__count"]
return {"parent_field": "parent_id", "values": list(field_range.values())}
context = {}
if field_name == "directory_id":
context["directory_short_name"] = True
elif field_name == "category_id":
if field_name == "category_id":
context["category_short_name"] = True
return super(File, self.with_context(**context)).search_panel_select_range(
field_name, **kwargs
Expand Down
2 changes: 2 additions & 0 deletions dms/tests/test_file_database.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,3 +119,5 @@ def test_search_panel(self):
self.assertTrue(self.file.search_panel_select_range("directory_id"))
self.assertTrue(self.file.search_panel_select_multi_range("directory_id"))
self.assertTrue(self.file.search_panel_select_multi_range("tag_ids"))
res = self.file.search_panel_select_range("directory_id", enable_counters=True)
self.assertTrue(self.directory2.id == x["id"] for x in res["values"])

0 comments on commit 45ecd53

Please sign in to comment.