utils.py
953 Bytes
# -*- coding: utf-8 -*-
from django.db.models import Count
from proxy.models import Revision, Ticket, Wiki
from super_archives.models import Message
def get_counters_to_badge(user):
count_revisions = Revision.objects.filter(author=user.username).count()
count_tickets = Ticket.objects.filter(author=user.username).count()
count_wikis = Wiki.objects.filter(author=user.username).count()
return dict(
messages=user.emails.aggregate(Count('message'))['message__count'],
revisions=count_revisions,
tickets=count_tickets,
wikis=count_wikis,
contributions=count_revisions + count_tickets + count_wikis,
)
# using haystack
# sqs = SearchQuerySet()
# sqs.filter(type='changeset', author=user.get_full_name()).count()
# sqs.filter(type='wiki', author=user.get_full_name()).count()
# sqs.filter(type='ticket', author=user.get_full_name()).count()
# Should it use the author_and_username attr too?