Skip to content
Snippets Groups Projects
Commit 92db09d3 authored by Hangzhi Yu's avatar Hangzhi Yu
Browse files

Use both approaches in predicate

parent 9fb1c20d
No related branches found
No related tags found
1 merge request!318Resolve "Add helper function to filter a queryset by a rule"
Pipeline #2898 failed
......@@ -4,6 +4,7 @@ from django.db.models import Model
from django.http import HttpRequest
from guardian.backends import ObjectPermissionBackend
from guardian.shortcuts import get_objects_for_user
from rules import predicate
from ..models import Group
......@@ -62,8 +63,7 @@ def has_any_object(perm: str, klass):
@predicate(name)
def fn(user: User) -> bool:
objs = queryset_rules_filter(user, klass.objects.all(), perm)
return len(objs) > 0
return get_objects_for_user(user, perm, klass).exists() or queryset_rules_filter(user, klass.objects.all(), perm).exists()
return fn
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment