return _('Asked a question with %s views') % str(self.nviews)
def award_to(self, action):
- if action.question.extra_count == int(self.nviews):
- return action.question.author
+ if action.node.extra_count == int(self.nviews):
+ return action.node.author
class PopularQuestion(QuestionViewBadge):
abstract = True
listen_to = (VoteAction,)
- @property
- def description(self):
- return _('Answer voted up %s times') % str(self.expected_score)
-
def award_to(self, action):
if (action.node.node_type == self.node_type) and (action.node.score == int(self.expected_score)):
return action.node.author
abstract = True
node_type = "question"
+ @property
+ def description(self):
+ return _('Question voted up %s times') % str(self.expected_score)
+
class NiceQuestion(QuestionScoreBadge):
expected_score = settings.NICE_QUESTION_VOTES_UP
name = _("Nice Question")
abstract = True
node_type = "answer"
+ @property
+ def description(self):
+ return _('Answer voted up %s times') % str(self.expected_score)
+
class NiceAnswer(AnswerScoreBadge):
expected_score = settings.NICE_ANSWER_VOTES_UP
name = _("Nice Answer")
expected_count = settings.FAVORITE_QUESTION_FAVS
class StellarQuestion(FavoriteQuestionBadge):
+ type = Badge.GOLD
name = _("Stellar Question")
expected_count = settings.STELLAR_QUESTION_FAVS
description = _('Left %s comments') % settings.PUNDIT_COMMENT_COUNT
def award_to(self, action):
- if (action.user.nodes.filter(node_type="comment", deleted=None)) == int(settings.CIVIC_DUTY_VOTES):
+ if action.user.nodes.filter_state(deleted=False).filter(node_type="comment").count() == int(settings.CIVIC_DUTY_VOTES):
return action.user
class StrunkAndWhite(AbstractBadge):
+ type = Badge.SILVER
award_once = True
listen_to = (ReviseAction,)
name = _("Strunk & White")
description = _('Asked first question with at least one up vote')
def award_to(self, action):
- if (action.node.node_type == "question") and (action.node.author.nodes.filter(node_type="question", deleted=None, score=1).count() == 1):
+ if (action.node.node_type == "question") and (action.node.author.nodes.filter_state(deleted=False).filter(node_type="question", score=1).count() == 1):
return action.node.author
description = _('Answered first question with at least one up vote')
def award_to(self, action):
- if (action.node.node_type == "answer") and (action.node.author.nodes.filter(node_type="answer", deleted=None, score=1).count() == 1):
+ if (action.node.node_type == "answer") and (action.node.author.nodes.filter_state(deleted=False).filter(node_type="answer", score=1).count() == 1):
return action.node.author