Disable counting in super search call of ResourceAccessMixin only when enforcing access

The search method must always return an integer when count is True.

Closes #13846
This commit is contained in:
Cédric Krier
2025-01-29 11:45:42 +01:00
parent 2337e61b71
commit 504f3013cc
+4 -2
View File
@@ -73,10 +73,12 @@ class ResourceAccessMixin(ModelStorage):
cls, domain, offset=0, limit=None, order=None, count=False,
query=False):
transaction = Transaction()
enforce_access = (
not query and transaction.user and transaction.check_access)
result = super().search(
domain, offset=offset, limit=limit, order=order,
count=False if not query else count, query=query)
if not query and transaction.user and transaction.check_access:
count=False if enforce_access else count, query=query)
if enforce_access:
records = result
resources = defaultdict(set)
allowed = set()