Skip to content
Snippets Groups Projects
Verified Commit 6b93b3f5 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Implement Person.member_of_recursive

parent f722392a
No related branches found
No related tags found
1 merge request!852Resolve "Add recursive helper methods for Group"
......@@ -300,6 +300,14 @@ class Person(ExtensibleModel):
user_info_tracker = FieldTracker(fields=("first_name", "last_name", "email"))
@property
def member_of_recursive(self) -> QuerySet:
"""Get all groups this person is a member of, recursively."""
q = self.member_of
for group in q.all():
q = q.union(group.parent_groups_recursive)
return q
def save(self, *args, **kwargs):
# Determine all fields that were changed since last load
dirty = self.pk is None or bool(self.user_info_tracker.changed())
......
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