- assignment.answer = assignment.answer_set.filter(participant=participant).first()
- assignment.forms = [
- (AttachmentForm(assignment=assignment, file_no=i, label=label, extensions=ext),
- assignment.answer.attachment_set.filter(file_no=i).first() if assignment.answer else None)
- for i, (label, ext) in enumerate(assignment.file_descriptions, 1)]
+ assignment.answer, created = Answer.objects.get_or_create(participant=participant, assignment=assignment)
+ if assignment == sent_assignment:
+ assignment.field_forms = field_forms
+ assignment.attachment_forms = attachment_forms
+ else:
+ assignment.field_forms = [
+ AssignmentFieldForm(label=label, field_no=i, options=options, answer=assignment.answer)
+ for i, (label, options) in enumerate(assignment.field_descriptions, 1)]
+ assignment.attachment_forms = [
+ (AttachmentForm(assignment=assignment, file_no=i, label=label, extensions=ext),
+ assignment.answer.attachment_set.filter(file_no=i).first() if assignment.answer else None)
+ for i, (label, ext) in enumerate(assignment.file_descriptions, 1)]