Changeset - b9b27abdce37
[Not reviewed]
0 1 0
Christopher Neugebauer - 8 years ago 2016-08-15 12:42:54
chrisjrn@gmail.com
sigh
1 file changed with 1 insertions and 1 deletions:
0 comments (0 inline, 0 general)
symposion/reviews/views.py
Show inline comments
...
 
@@ -252,97 +252,97 @@ def review_admin(request, section_slug):
 

	
 
        for team in Team.objects.filter(permissions__codename="can_review_%s" % section_slug):
 
            for membership in team.memberships.filter(Q(state="member") | Q(state="manager")):
 
                user = membership.user
 
                if user.pk in already_seen:
 
                    continue
 
                already_seen.add(user.pk)
 

	
 
                user.comment_count = Review.objects.filter(
 
                    user=user,
 
                    proposal__kind__section__slug=section_slug,
 
                ).count()
 

	
 
                user_votes = LatestVote.objects.filter(
 
                    user=user,
 
                    proposal__kind__section__slug=section_slug,
 
                )
 

	
 
                user.total_votes = user_votes.exclude(
 
                    vote=LatestVote.VOTES.ABSTAIN,
 
                ).count()
 
                user.plus_two = user_votes.filter(
 
                    vote=LatestVote.VOTES.PLUS_TWO,
 
                ).count()
 
                user.plus_one = user_votes.filter(
 
                    vote=LatestVote.VOTES.PLUS_ONE,
 
                ).count()
 
                user.minus_one = user_votes.filter(
 
                    vote=LatestVote.VOTES.MINUS_ONE,
 
                ).count()
 
                user.minus_two = user_votes.filter(
 
                    vote=LatestVote.VOTES.MINUS_TWO,
 
                ).count()
 
                user.abstain = user_votes.filter(
 
                    vote=LatestVote.VOTES.ABSTAIN,
 
                ).count()
 

	
 
                if user.total_votes == 0:
 
                    user.average = "-"
 
                else:
 
                    user.average = (
 
                        ((user.plus_two * 2) + user.plus_one) -
 
                        ((user.minus_two * 2) + user.minus_one)
 
                    ) / (user.total_votes * 1.0)
 

	
 
                yield user
 

	
 
    reviewers_sorted = list(reviewers())
 
    sort(reviewers_sorted: key= lambda reviewer: 0 - reviewer.total_votes)
 
    reviewers_sorted.sort(key= lambda reviewer: 0 - reviewer.total_votes)
 

	
 
    ctx = {
 
        "section_slug": section_slug,
 
        "reviewers": reviewers_sorted,
 
    }
 
    return render(request, "symposion/reviews/review_admin.html", ctx)
 

	
 

	
 
# FIXME: This view is too complex according to flake8
 
@login_required
 
def review_detail(request, pk):
 

	
 
    proposals = ProposalBase.objects.select_related("result").select_subclasses()
 
    proposal = get_object_or_404(proposals, pk=pk)
 

	
 
    if not request.user.has_perm("reviews.can_review_%s" % proposal.kind.section.slug):
 
        return access_not_permitted(request)
 

	
 
    speakers = [s.user for s in proposal.speakers()]
 

	
 
    if not request.user.is_superuser and request.user in speakers:
 
        return access_not_permitted(request)
 

	
 
    admin = request.user.has_perm("reviews.can_manage_%s" % proposal.kind.section.slug)
 

	
 
    try:
 
        latest_vote = LatestVote.objects.get(proposal=proposal, user=request.user)
 
    except LatestVote.DoesNotExist:
 
        latest_vote = None
 

	
 
    if request.method == "POST":
 
        if request.user in speakers:
 
            return access_not_permitted(request)
 

	
 
        if "vote_submit" in request.POST or "vote_submit_and_random" in request.POST:
 
            review_form = ReviewForm(request.POST)
 
            if review_form.is_valid():
 

	
 
                review = review_form.save(commit=False)
 
                review.user = request.user
 
                review.proposal = proposal
 
                review.save()
 

	
 
                if "vote_submit_and_random" in request.POST:
 
                    next_page = redirect("user_random", proposal.kind.section.slug)
 
                    next_page["Location"] += "#invalid_fragment"  # Hack.
 
                else:
 
                    next_page = redirect(request.path)
0 comments (0 inline, 0 general)