Skip to content
Snippets Groups Projects
Commit f3bec5cd authored by Fredrik Jonsson's avatar Fredrik Jonsson
Browse files

Count NA as 0 when calculating review score.

parent 3baf5081
No related branches found
No related tags found
No related merge requests found
...@@ -84,8 +84,10 @@ class ReviewModelForm(StreamBaseForm, forms.ModelForm, metaclass=MixedMetaClass) ...@@ -84,8 +84,10 @@ class ReviewModelForm(StreamBaseForm, forms.ModelForm, metaclass=MixedMetaClass)
for field in self.instance.score_fields: for field in self.instance.score_fields:
score = data.get(field.id)[1] score = data.get(field.id)[1]
if score != NA: # Include NA answers as 0.
scores.append(score) if score == NA:
score = 0
scores.append(score)
try: try:
return sum(scores) / len(scores) return sum(scores) / len(scores)
......
# Generated by Django 2.0.13 on 2019-08-19 11:10
from django.db import migrations
from opentech.apply.review.models import Review
from opentech.apply.review.options import NA
def review_score_update(apps, schema_editor):
for review in Review.objects.all():
# Disable auto_now on "updated_at" field so date is not changed.
for field in review._meta.local_fields:
if field.name == 'updated_at':
field.auto_now = False
# Update the score and save.
scores = list()
for field in review.score_fields:
score = review.form_data.get(field.id)[1]
# Include NA answers as 0.
if score == NA:
score = 0
scores.append(score)
try:
review.score = sum(scores) / len(scores)
except ZeroDivisionError:
review.score = NA
review.save()
def review_score_revert(apps, schema_editor):
for review in Review.objects.all():
# Disable auto_now on "updated_at" field so date is not changed.
for field in review._meta.local_fields:
if field.name == 'updated_at':
field.auto_now = False
# Update the score and save.
scores = list()
for field in review.score_fields:
score = review.form_data.get(field.id)[1]
# Exclude NA answers.
if score != NA:
scores.append(score)
try:
review.score = sum(scores) / len(scores)
except ZeroDivisionError:
review.score = NA
review.save()
class Migration(migrations.Migration):
dependencies = [
('review', '0019_replace_existing_author_field'),
]
operations = [
migrations.RunPython(review_score_update, review_score_revert),
]
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