From c61a64010abb56fe527d1d68349122cb6f087215 Mon Sep 17 00:00:00 2001 From: Ross Date: Thu, 29 Jul 2021 18:50:08 +0100 Subject: [PATCH] . --- sbas/views.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/sbas/views.py b/sbas/views.py index 694d22d2..e83fccd0 100644 --- a/sbas/views.py +++ b/sbas/views.py @@ -252,12 +252,26 @@ def exam_take(request, pk, sk, cid): pos = exam.get_question_index(question) + 1 - form = CidUserAnswerForm(request.POST or None) - if form.is_valid(): + answer = question.cid_user_answers.get( + user=request.user) + + if request.method == "POST": + if answer: + form = CidUserAnswerForm(request.POST, instance=answer) + else: + form = CidUserAnswerForm(request.POST) + if form.is_valid(): + answer = form.save(commit=False) + answer.user = request.user + answer.question = question + # answer.published_date = timezone.now() + answer.save() if "next" in request.POST: return redirect("sbas:exam_take", pk=pk, sk=n + 1, cid=cid) elif "previous" in request.POST: return redirect("sbas:exam_take", pk=pk, sk=n - 1, cid=cid) + else: + form = CidUserAnswerForm(instance=answer) previous = -1 if sk > 0: