The “free for all” random reviews should now direct reviewers to under-reviewed proposals more generally.
This commit is contained in:
parent
07198b2ecf
commit
5735c7745e
1 changed files with 12 additions and 4 deletions
|
@ -208,13 +208,21 @@ def review_random_proposal(request, section_slug):
|
||||||
controversial_set = REVIEW_STATUS_FILTERS[CONTROVERSIAL](queryset)
|
controversial_set = REVIEW_STATUS_FILTERS[CONTROVERSIAL](queryset)
|
||||||
|
|
||||||
if len(too_few_set) > 0:
|
if len(too_few_set) > 0:
|
||||||
queryset = too_few_set
|
proposals = too_few_set.all()
|
||||||
elif len(controversial_set) > 0:
|
elif len(controversial_set) > 0:
|
||||||
queryset = controversial_set
|
proposals = controversial_set.all()
|
||||||
|
else:
|
||||||
|
# Select a proposal with less than the median number of total votes
|
||||||
|
proposals = proposals_generator(request, queryset, check_speaker=False)
|
||||||
|
proposals = list(proposals)
|
||||||
|
proposals.sort(key = lambda proposal: proposal.total_votes)
|
||||||
|
# The first half is the median or less.
|
||||||
|
# The +1 means we round _up_.
|
||||||
|
proposals = proposals[:(len(proposals) + 1) / 2]
|
||||||
|
|
||||||
# Realistically, there shouldn't be all that many proposals to choose
|
# Realistically, there shouldn't be all that many proposals to choose
|
||||||
# from, so this should be cheap.
|
# from, so this should be cheap.
|
||||||
chosen = random.choice(queryset.all())
|
chosen = random.choice(proposals)
|
||||||
return redirect("review_detail", pk=chosen.pk)
|
return redirect("review_detail", pk=chosen.pk)
|
||||||
|
|
||||||
|
|
||||||
|
@ -262,7 +270,7 @@ def review_admin(request, section_slug):
|
||||||
user=user,
|
user=user,
|
||||||
proposal__kind__section__slug=section_slug,
|
proposal__kind__section__slug=section_slug,
|
||||||
).count()
|
).count()
|
||||||
|
|
||||||
user_votes = LatestVote.objects.filter(
|
user_votes = LatestVote.objects.filter(
|
||||||
user=user,
|
user=user,
|
||||||
proposal__kind__section__slug=section_slug,
|
proposal__kind__section__slug=section_slug,
|
||||||
|
|
Loading…
Reference in a new issue