Skip to content
Snippets Groups Projects
Commit 8b5d5a26 authored by Todd Dembrey's avatar Todd Dembrey
Browse files

GH-985: Simplify the check for opinions

parent 85a2dbb5
No related branches found
No related tags found
No related merge requests found
...@@ -102,19 +102,12 @@ class ReviewQuerySet(models.QuerySet): ...@@ -102,19 +102,12 @@ class ReviewQuerySet(models.QuerySet):
return self.exclude(score=NA).aggregate(models.Avg('score'))['score__avg'] return self.exclude(score=NA).aggregate(models.Avg('score'))['score__avg']
def recommendation(self): def recommendation(self):
reviews = self.values_list('id', 'recommendation', 'opinions__opinion') opinions = self.values_list('opinions__opinion', flat=True)
outcome = {} if any(opinion == DISAGREE for opinion in opinions):
for review_id, review, opinion in reviews: return MAYBE
current_outcome = outcome.get(review_id, review)
if opinion == DISAGREE:
new_outcome = MAYBE
else:
new_outcome = current_outcome
outcome[review_id] = new_outcome
recommendations = outcome.values()
recommendations = self.values_list('recommendation', flat=True)
try: try:
recommendation = sum(recommendations) / len(recommendations) recommendation = sum(recommendations) / len(recommendations)
except ZeroDivisionError: except ZeroDivisionError:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment