Esempio n. 1
0
 def get_votes_count_today_from_user(self, user):
     if user is not None:
         return self.filter(user=user,
                            voted_at__range=get_today_range()).count()
     return 0
Esempio n. 2
0
 def get_votes_count_today_from_user(self, user):
     if user is not None:
         return self.filter(user=user, voted_at__range=get_today_range()).count()
     return 0
Esempio n. 3
0
    def get_reputation_by_upvoted_today(self, user):
        """
        For one user in one day, he can only earn rep till certain score (ep. +200)
        by upvoted(also subtracted from upvoted canceled). This is because we need
        to prohibit gaming system by upvoting/cancel again and again.
        """
        if user is None:
            return 0

        rep_types = (1, -8)
        sums = self.filter(Q(reputation_type__in=rep_types), user=user, reputed_at__range=get_today_range()).\
            aggregate(Sum('positive'), Sum('negative'))
        if sums:
            pos = sums['positive__sum']
            neg = sums['negative__sum']
            if pos is None:
                pos = 0
            if neg is None:
                neg = 0
            return pos + neg
        else:
            return 0
Esempio n. 4
0
    def get_reputation_by_upvoted_today(self, user):
        """
        For one user in one day, he can only earn rep till certain score (ep. +200)
        by upvoted(also subtracted from upvoted canceled). This is because we need
        to prohibit gaming system by upvoting/cancel again and again.
        """
        if user is None:
            return 0

        rep_types = (1, -8)
        sums = self.filter(Q(reputation_type__in=rep_types), user=user, reputed_at__range=get_today_range()).\
            aggregate(Sum('positive'), Sum('negative'))
        if sums:
            pos = sums['positive__sum']
            neg = sums['negative__sum']
            if pos is None:
                pos = 0
            if neg is None:
                neg = 0
            return pos + neg
        else:
            return 0