Changeset - 78d13a9ffa45
[Not reviewed]
0 1 0
Martey Dodoo - 8 years ago 2016-03-11 01:35:41
martey@mobolic.com
Fix queryset used in "Not Reviewed" view.

The `speaker` field on the `Proposal` model corresponds to a `Speaker`,
not a `User`, so the old queryset created a ValueError.
1 file changed with 2 insertions and 1 deletions:
0 comments (0 inline, 0 general)
symposion/reviews/views.py
Show inline comments
...
 
@@ -66,49 +66,50 @@ def proposals_generator(request, queryset, user_pk=None, check_speaker=True):
 
# yet to review depending on the link user clicks in dashboard
 
@login_required
 
def review_section(request, section_slug, assigned=False, reviewed="all"):
 

	
 
    if not request.user.has_perm("reviews.can_review_%s" % section_slug):
 
        return access_not_permitted(request)
 

	
 
    section = get_object_or_404(ProposalSection, section__slug=section_slug)
 
    queryset = ProposalBase.objects.filter(kind__section=section.section)
 

	
 
    if assigned:
 
        assignments = ReviewAssignment.objects.filter(user=request.user)\
 
            .values_list("proposal__id")
 
        queryset = queryset.filter(id__in=assignments)
 

	
 
    # passing reviewed in from reviews.urls and out to review_list for
 
    # appropriate template header rendering
 
    if reviewed == "all":
 
        queryset = queryset.select_related("result").select_subclasses()
 
        reviewed = "all_reviews"
 
    elif reviewed == "reviewed":
 
        queryset = queryset.filter(reviews__user=request.user)
 
        reviewed = "user_reviewed"
 
    else:
 
        queryset = queryset.exclude(reviews__user=request.user).exclude(speaker=request.user)
 
        queryset = queryset.exclude(reviews__user=request.user).exclude(
 
            speaker__user=request.user)
 
        reviewed = "user_not_reviewed"
 

	
 
    proposals = proposals_generator(request, queryset)
 

	
 
    ctx = {
 
        "proposals": proposals,
 
        "section": section,
 
        "reviewed": reviewed,
 
    }
 

	
 
    return render(request, "symposion/reviews/review_list.html", ctx)
 

	
 

	
 
@login_required
 
def review_list(request, section_slug, user_pk):
 

	
 
    # if they're not a reviewer admin and they aren't the person whose
 
    # review list is being asked for, don't let them in
 
    if not request.user.has_perm("reviews.can_manage_%s" % section_slug):
 
        if not request.user.pk == user_pk:
 
            return access_not_permitted(request)
 

	
 
    queryset = ProposalBase.objects.select_related("speaker__user", "result")
 
    reviewed = LatestVote.objects.filter(user__pk=user_pk).values_list("proposal", flat=True)
0 comments (0 inline, 0 general)