X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/0e419989be7dfc256a0ef8a39de3b3744257f9be..bdb70243eb9189c92189c05afad9599ab1453946:/forum/models/question.py diff --git a/forum/models/question.py b/forum/models/question.py index a185e02..010647c 100644 --- a/forum/models/question.py +++ b/forum/models/question.py @@ -61,6 +61,29 @@ class Question(Node): cache.set(cache_key, related_list, 60 * 60) return [Question.objects.get(id=r['id']) for r in related_list] + + def get_active_users(self): + active_users = [] + + active_users.append(self.author) + + for answer in self.answers: + active_users.append(answer.author) + + for child in self.children.all(): + active_users.append(child.author) + for grandchild in child.children.all(): + active_users.append(grandchild.author) + + # Remove duplicates + unique_active_users = [] + for user in active_users: + if user not in unique_active_users: + unique_active_users.append(user) + active_users = unique_active_users + del unique_active_users + + return active_users def question_viewed(instance, **kwargs):