0002-django_rbac-allow-filtering-user-roles-by-auth-level.patch
src/django_rbac/managers.py | ||
---|---|---|
103 | 103 | |
104 | 104 | |
105 | 105 |
class RoleQuerySet(query.QuerySet): |
106 |
def for_user(self, user): |
|
107 |
return self.filter(members=user).parents().distinct() |
|
106 |
def for_user(self, user, max_auth_level=None): |
|
107 |
qs = self.filter(members=user) |
|
108 |
if max_auth_level: |
|
109 |
qs = qs.filter(auth_level__lte=max_auth_level) |
|
110 |
qs = qs.parents() |
|
111 |
if max_auth_level: |
|
112 |
qs = qs.filter(auth_level__lte=max_auth_level) |
|
113 |
return qs.distinct() |
|
108 | 114 | |
109 | 115 |
def parents(self, include_self=True, annotate=False): |
110 | 116 |
qs = self.model.objects.filter(child_relation__child__in=self) |
111 |
- |