0002-django_rbac-allow-filtering-user-roles-by-auth-level.patch
| src/django_rbac/managers.py | ||
|---|---|---|
|
class RoleQuerySet(query.QuerySet):
|
||
|
def for_user(self, user):
|
||
|
return self.filter(members=user).parents().distinct()
|
||
|
def for_user(self, user, max_auth_level=None):
|
||
|
qs = self.filter(members=user)
|
||
|
if max_auth_level:
|
||
|
qs = qs.filter(auth_level__lte=max_auth_level)
|
||
|
qs = qs.parents()
|
||
|
if max_auth_level:
|
||
|
qs = qs.filter(auth_level__lte=max_auth_level)
|
||
|
return qs.distinct()
|
||
|
def parents(self, include_self=True, annotate=False):
|
||
|
qs = self.model.objects.filter(child_relation__child__in=self)
|
||