Files
outbo-2-stgclone/evg-outbo-api/outbo/apps/products/queries.py
T
2024-11-27 13:18:16 +01:00

17 lines
534 B
Python
Executable File

from django.db.models import Q
from outbo.apps.core.rules import is_client, is_agency, is_supplier
def read_product_query(user):
assigned_to_user_query = (
Q(project__member__user=user, project__member__deleted_at__isnull=True)
if user.is_observer is False and user.is_trader is False
else Q()
)
if is_client.test(user):
return assigned_to_user_query & Q(project__published=True)
elif (is_agency | is_supplier).test(user):
return assigned_to_user_query & Q()
return ~Q()