diff --git a/denis/db.py b/denis/db.py index 0407269b..7dcf00ac 100755 --- a/denis/db.py +++ b/denis/db.py @@ -20,8 +20,8 @@ class Assignment(BaseModel): class PeerReviewAssignment(BaseModel): assignment = peewee.TextField() reviewer = peewee.TextField() - reviewee1 = peewee.TextField() - reviewee2 = peewee.TextField() + reviewee1 = peewee.TextField(null=True) + reviewee2 = peewee.TextField(null=True) class Meta: indexes = ((('assignment', 'reviewer'), True),) diff --git a/denis/initial.py b/denis/initial.py index 706173e0..a5906205 100755 --- a/denis/initial.py +++ b/denis/initial.py @@ -111,7 +111,7 @@ def generate_peer_review_email(assignment, review_table): students_who_submitted = [user.username for user in orbit.db.User.select() if mailman.db.Submission.get_or_none((mailman.db.Submission.user == user.username) & # NOQA: E501 - (mailman.db.Submission.assignment == assignment)) is not None] # NOQA: E501 + (mailman.db.Submission.recipient == assignment)) is not None] # NOQA: E501 # let them see emails that have been sent since last final due date for student in students_who_submitted: @@ -142,9 +142,9 @@ def generate_peer_review_email(assignment, review_table): db.PeerReviewAssignment.insert_many( [{'assignment': assignment, 'reviewer': reviewer, - 'reviewee1': reviewee1, - 'reviewee2': reviewee2} - for (reviewer, reviewee1, reviewee2) in reviews]).execute() + 'reviewee1': reviewees[0] if len(reviewees) >= 1 else None, + 'reviewee2': reviewees[1] if len(reviewees) >= 2 else None} + for [reviewer, *reviewees] in reviews]).execute() except db.peewee.IntegrityError as e: print(e)