summaryrefslogtreecommitdiffstats
path: root/askbot/management/commands/askbot_award_badges.py
blob: 3f8132b77853b67b7decf9f3dc4a53bdba31513d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
"""WARNING: 
This command is incomplete, current awards only
Civic Duty badge
"""

from askbot.models import badges
from askbot.models import User
from askbot.models import Vote
import datetime
from django.core.management.base import NoArgsCommand

class Command(NoArgsCommand):
    def handle_noargs(self, *args, **kwargs):
        now = datetime.datetime.now()
        for user in User.objects.all():
            try:
                #get last vote
                vote = Vote.objects.filter(user=user).order_by('-id')[0]
            except IndexError:
                #user did not vote
                continue
            else:
                cd = badges.CivicDuty()
                cd.consider_award(
                            actor=user,
                            context_object=vote.voted_post,
                            timestamp=now
                        )