Skip to content

Commit

Permalink
add route
Browse files Browse the repository at this point in the history
  • Loading branch information
maelys-buhler committed Mar 30, 2024
1 parent a564329 commit 73258a0
Showing 1 changed file with 20 additions and 4 deletions.
24 changes: 20 additions & 4 deletions api/masteriqapp/views/QuestionView.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ def new_community(self, request):
if question_serializer.is_valid():
question = question_serializer.save()
else:
return Response(data={"field": "Question", "errors": question_serializer.errors}, status=status.HTTP_400_BAD_REQUEST)
return Response(data={"field": "Question", "errors": question_serializer.errors},
status=status.HTTP_400_BAD_REQUEST)

for option in datas['options']:
option_serializer = OptionSerializer(data={"text": option, "is_correct": False, "question": 3})
Expand All @@ -59,12 +60,27 @@ def new_community(self, request):
option_serializer.save()
else:
print(option_serializer.data)
return Response(data={"field": "Option", "error": option_serializer.errors}, status=status.HTTP_400_BAD_REQUEST)
return Response(data={"field": "Option", "error": option_serializer.errors},
status=status.HTTP_400_BAD_REQUEST)

option_serializer = OptionSerializer(data={"text": datas['answer'], "is_correct": True, "question": question.id})
option_serializer = OptionSerializer(
data={"text": datas['answer'], "is_correct": True, "question": question.id})
if option_serializer.is_valid():
question = option_serializer.save()
else:
return Response(data={"field": "Answer", "error": option_serializer.errors}, status=status.HTTP_400_BAD_REQUEST)
return Response(data={"field": "Answer", "error": option_serializer.errors},
status=status.HTTP_400_BAD_REQUEST)

return Response(question_serializer.data, status=status.HTTP_201_CREATED)

@action(detail=False, methods=["GET"])
def options(self, request):
if not 'question' in request.session:
return Response(status=449, data={"error": "No question being answered at the moment"})
question_id = request.session['question']
question = self.question_model.objects.get(pk=question_id)
print(question.options.all())
data_to_send = {'question_id': question.id, 'number_of_question': len(question.options.all()), 'options': {}}
for option in question.options.all():
data_to_send['options'][option.id] = option.text
return Response(status=status.HTTP_200_OK, data=data_to_send)

0 comments on commit 73258a0

Please sign in to comment.