This commit is contained in:
Ross
2022-07-05 22:29:44 +01:00
parent 41991f1ebd
commit 74e99d54b1
12 changed files with 210 additions and 70 deletions
+22 -7
View File
@@ -593,7 +593,8 @@ class ExamViews(View, LoginRequiredMixin):
for u in users:
user = User.objects.get(pk=u)
user_exam = exam.get_or_create_cid_user_exam(user_user=user)
status[user] = json.loads(user_exam.results_emailed_status)
if user_exam.results_emailed_status:
status[user] = json.loads(user_exam.results_emailed_status)
return render(
request,
@@ -620,7 +621,11 @@ class ExamViews(View, LoginRequiredMixin):
if not self.check_user_access(request.user, exam_id):
raise PermissionDenied
additional_email = request.GET.get("additional_email", "")
additional_email = False
if request.htmx.prompt is not None:
additional_email = request.htmx.prompt
print(f"{additional_email=}")
# check addition email is valid
if additional_email:
@@ -646,19 +651,29 @@ class ExamViews(View, LoginRequiredMixin):
continue
if additional_email:
email_results[user.pk] = exam.email_user_results(
email_results[user] = exam.email_user_results(
user, additional_emails=[additional_email]
)
else:
email_results[user.pk] = exam.email_user_results(user)
email_results[user.pk].append(f"{time}")
user_exam.results_emailed_status = json.dumps(email_results[user.pk])
email_results[user] = exam.email_user_results(user)
email_results[user].append(f"{time}")
user_exam.results_emailed_status = json.dumps(email_results[user])
user_exam.save()
exam.exam_results_emailed = time
exam.save()
return render(
request,
"generic/exam_report_email_status.html",
{
"exam": exam,
"status": email_results,
"app_name": self.app_name,
},
)
return JsonResponse(email_results)
@method_decorator(login_required)
@@ -1343,7 +1358,7 @@ class ExamViews(View, LoginRequiredMixin):
if not existing_answers:
if uid:
ans = self.CidUserAnswer(
answer=posted_answer, uid=User.objects.get(id=uid)
answer=posted_answer, user=User.objects.get(id=uid)
)
else:
ans = self.CidUserAnswer(answer=posted_answer, cid=cid)