start better rts inegration
This commit is contained in:
@@ -1326,6 +1326,11 @@ class UserAnswerBase(models.Model):
|
||||
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
updated = models.DateTimeField(auto_now=True)
|
||||
time_answered = models.DateTimeField(
|
||||
null=True,
|
||||
blank=True,
|
||||
help_text="Time the question was answered (client-side)",
|
||||
)
|
||||
|
||||
class Meta:
|
||||
abstract = True
|
||||
|
||||
+18
-7
@@ -3440,6 +3440,15 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
# Mark as unmarked
|
||||
ans.score = ans.ScoreOptions.UNMARKED
|
||||
|
||||
time_answered_str = answer.get("time_answered")
|
||||
if time_answered_str:
|
||||
from django.utils.dateparse import parse_datetime
|
||||
parsed_time = parse_datetime(time_answered_str)
|
||||
if parsed_time:
|
||||
if timezone.is_naive(parsed_time):
|
||||
parsed_time = timezone.make_aware(parsed_time)
|
||||
ans.time_answered = parsed_time
|
||||
|
||||
ans.full_clean()
|
||||
ans.save()
|
||||
|
||||
@@ -3467,14 +3476,16 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
cid_user_exam = exam.get_or_create_cid_user_exam(
|
||||
cid_user=c, start_time=t
|
||||
)
|
||||
exam.exam_user_status.create(
|
||||
cid_user_exam=cid_user_exam,
|
||||
status="submitted",
|
||||
extra="manual submission",
|
||||
)
|
||||
in_progress = request.POST.get("in_progress") == "true"
|
||||
if not in_progress:
|
||||
exam.exam_user_status.create(
|
||||
cid_user_exam=cid_user_exam,
|
||||
status="submitted",
|
||||
extra="manual submission",
|
||||
)
|
||||
|
||||
cid_user_exam.end_time = timezone.now()
|
||||
cid_user_exam.save()
|
||||
cid_user_exam.end_time = timezone.now()
|
||||
cid_user_exam.save()
|
||||
|
||||
return JsonResponse({"success": True, "question_count": n})
|
||||
return JsonResponse({"success": False, "error": "Invalid data"})
|
||||
|
||||
Reference in New Issue
Block a user