X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/700b6dec7e4d655fee91e26f9757442162047281..af8a49892d4eea73d625a936cf84ca78f10d99e3:/forum/models/question.py diff --git a/forum/models/question.py b/forum/models/question.py index 55f37c4..ef4a37d 100644 --- a/forum/models/question.py +++ b/forum/models/question.py @@ -2,8 +2,6 @@ from base import * from tag import Tag from django.utils.translation import ugettext as _ -question_view = django.dispatch.Signal(providing_args=['instance', 'user']) - class QuestionManager(NodeManager): def search(self, keywords): return False, self.filter(models.Q(title__icontains=keywords) | models.Q(body__icontains=keywords)) @@ -44,6 +42,9 @@ class Question(Node): @models.permalink def get_absolute_url(self): return ('question', (), {'id': self.id, 'slug': django_urlquote(slugify(self.title))}) + + def meta_description(self): + return self.summary def get_revision_url(self): return reverse('question_revisions', args=[self.id]) @@ -58,13 +59,22 @@ class Question(Node): cache.set(cache_key, related_list, 60 * 60) return [Question.objects.get(id=r['id']) for r in related_list] - - -def question_viewed(instance, **kwargs): - instance.extra_count += 1 - instance.save() - -question_view.connect(question_viewed) + + def get_active_users(self): + active_users = set() + + active_users.add(self.author) + + for answer in self.answers: + active_users.add(answer.author) + + for comment in answer.comments: + active_users.add(comment.author) + + for comment in self.comments: + active_users.add(comment.author) + + return active_users class QuestionSubscription(models.Model):