Beispiel #1
0
 def test_get_performance_since(self):
     self._give_points()
     ReviewerScore.award_moderation_points(self.user, self.app, 1)
     rs = list(ReviewerScore.objects.all())
     rs[0].update(created=self.days_ago(50))
     performance = ReviewerScore.get_performance_since(self.user, self.days_ago(30))
     eq_(len(performance), 1)
Beispiel #2
0
 def test_get_performance_since(self):
     self._give_points()
     ReviewerScore.award_moderation_points(self.user, self.app, 1)
     rs = list(ReviewerScore.objects.all())
     rs[0].update(created=self.days_ago(50))
     performance = ReviewerScore.get_performance_since(
         self.user, self.days_ago(30))
     eq_(len(performance), 1)
Beispiel #3
0
def performance(request, username=None):
    is_admin = acl.action_allowed(request, 'Admin', '%')

    if username:
        if username == request.user.username:
            user = request.user
        elif is_admin:
            user = get_object_or_404(UserProfile, username=username)
        else:
            raise http.Http404
    else:
        user = request.user

    today = datetime.date.today()
    month_ago = today - datetime.timedelta(days=30)
    year_ago = today - datetime.timedelta(days=365)

    total = ReviewerScore.get_total(user)
    totals = ReviewerScore.get_performance(user)
    months = ReviewerScore.get_performance_since(user, month_ago)
    years = ReviewerScore.get_performance_since(user, year_ago)

    def _sum(iter):
        return sum(s.total or 0 for s in iter)

    performance = {
        'month': _sum(months),
        'year': _sum(years),
        'total': _sum(totals),
    }

    ctx = context(
        request, **{
            'profile': user,
            'total': total,
            'performance': performance,
        })

    return render(request, 'reviewers/performance.html', ctx)
Beispiel #4
0
def performance(request, email=None):
    is_admin = acl.action_allowed(request, 'Admin', '%')

    if email:
        if email == request.user.email:
            user = request.user
        elif is_admin:
            user = get_object_or_404(UserProfile, email=email)
        else:
            raise http.Http404
    else:
        user = request.user

    today = datetime.date.today()
    month_ago = today - datetime.timedelta(days=30)
    year_ago = today - datetime.timedelta(days=365)

    total = ReviewerScore.get_total(user)
    totals = ReviewerScore.get_performance(user)
    months = ReviewerScore.get_performance_since(user, month_ago)
    years = ReviewerScore.get_performance_since(user, year_ago)

    def _sum(iter):
        return sum(s.total or 0 for s in iter)

    performance = {
        'month': _sum(months),
        'year': _sum(years),
        'total': _sum(totals),
    }

    ctx = context(request, **{
        'profile': user,
        'total': total,
        'performance': performance,
    })

    return render(request, 'reviewers/performance.html', ctx)