Skip to content

Commit

Permalink
Fix: set submitted_by for answers which submitted through form
Browse files Browse the repository at this point in the history
  • Loading branch information
AmooHashem committed Jan 26, 2025
1 parent fa5cc74 commit f955625
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions apps/response/serializers/answer_sheet.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,13 @@ class AnswerSheetSerializer(serializers.ModelSerializer):
queryset=Form.objects.all())

def create(self, validated_data):
answers = self.initial_data.get('answers', [])
answer_sheet = super().create(validated_data)

answers = self.initial_data.get('answers', [])
for answer in answers:
# todo: use AnswerSubmissionHandler for submitting answers:
serializer = AnswerPolymorphicSerializer(data={
'submitted_by': validated_data.get('user').id if validated_data.get('user') else None,
'answer_sheet': answer_sheet.id,
**answer
})
Expand All @@ -32,7 +34,8 @@ def validate(self, attrs):
form = attrs.get('form', None)
if form is not None:
answers = self.initial_data.get('answers', [])
answers_problems = [answer.get('problem', None) for answer in answers]
answers_problems = [answer.get('problem', None)
for answer in answers]
for widget in form.widgets.all():
if isinstance(widget, Problem) and widget.is_required and widget.id not in answers_problems:
raise ParseError(serialize_error(
Expand Down

0 comments on commit f955625

Please sign in to comment.