.
This commit is contained in:
+9
-5
@@ -317,11 +317,7 @@ class CidUser(models.Model):
|
|||||||
|
|
||||||
return available_exams
|
return available_exams
|
||||||
|
|
||||||
def email_results(self, resend=False):
|
def generate_exam_report(self):
|
||||||
if self.results_email_sent and not resend:
|
|
||||||
return False, "Already sent."
|
|
||||||
|
|
||||||
# Get a list of taken exams
|
|
||||||
exam_list = self.get_cid_exams()
|
exam_list = self.get_cid_exams()
|
||||||
|
|
||||||
exam_text = []
|
exam_text = []
|
||||||
@@ -346,9 +342,17 @@ class CidUser(models.Model):
|
|||||||
msg = "\n\n".join(exam_text)
|
msg = "\n\n".join(exam_text)
|
||||||
|
|
||||||
print(msg)
|
print(msg)
|
||||||
|
return msg
|
||||||
|
|
||||||
html_msg = f""""""
|
html_msg = f""""""
|
||||||
|
|
||||||
|
def email_results(self, resend=False):
|
||||||
|
if self.results_email_sent and not resend:
|
||||||
|
return False, "Already sent."
|
||||||
|
|
||||||
|
# Get a list of taken exams
|
||||||
|
msg = self.generate_exam_report()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
send_mail(
|
send_mail(
|
||||||
f"{self.group} results",
|
f"{self.group} results",
|
||||||
|
|||||||
+2
-26
@@ -92,37 +92,13 @@ def cid_results(request, cid):
|
|||||||
if not cid_user:
|
if not cid_user:
|
||||||
raise Http404("CID not found")
|
raise Http404("CID not found")
|
||||||
|
|
||||||
EXAM_ANSWER_MAP = {
|
report = cid_user.generate_exam_report()
|
||||||
"physics": (PhysicsCidUserAnswer, PhysicsExam),
|
|
||||||
"anatomy": (AnatomyCidUserAnswer, AnatomyExam),
|
|
||||||
"rapids": (RapidsCidUserAnswer, RapidsExam),
|
|
||||||
"longs": (LongsCidUserAnswer, LongsExam),
|
|
||||||
"sbas": (SbasCidUserAnswer, SbasExam),
|
|
||||||
}
|
|
||||||
kwargs = {"exam_mode": True}
|
|
||||||
|
|
||||||
exams = []
|
|
||||||
for exam_type in EXAM_ANSWER_MAP:
|
|
||||||
CidUserAnswer, Exam = EXAM_ANSWER_MAP[exam_type]
|
|
||||||
exam_answers = CidUserAnswer.objects.filter(cid=cid)
|
|
||||||
exam_ids = exam_answers.values_list("exam").distinct()
|
|
||||||
exams.append((exam_type, Exam.objects.filter(id__in=exam_ids, **kwargs)))
|
|
||||||
|
|
||||||
available_exams = cid_user.get_cid_exams()
|
|
||||||
|
|
||||||
return render(
|
return render(
|
||||||
request,
|
request,
|
||||||
"cid_results.html",
|
"cid_results.html",
|
||||||
{
|
{
|
||||||
# "physics_exams": physics_exams,
|
"report": report,
|
||||||
# "anatomy_exams": anatomy_exams,
|
|
||||||
# "rapid_exams": rapid_exams,
|
|
||||||
# "longs_exams": longs_exams,
|
|
||||||
# "sba_exams": sba_exams,
|
|
||||||
"all_exams": exams,
|
|
||||||
"cid": cid,
|
|
||||||
"cid_user": cid_user,
|
|
||||||
"available_exams": available_exams,
|
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -2,29 +2,7 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="">
|
<div class="">
|
||||||
<h2>CID: {{ cid }}</h2>
|
{{report}}
|
||||||
<p>The following exams will be available to take when active.
|
</div>
|
||||||
{% for exam_type, exams in available_exams %}
|
|
||||||
<h4>{{exam_type}}</h4>
|
|
||||||
<ul>
|
|
||||||
{% for exam in exams %}
|
|
||||||
<li><a href="" target="_blank">{{exam.name}}</a></li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<h3>Exam results</h3>
|
|
||||||
The following exam results been found. Click to view answers (and scores when the results are published):
|
|
||||||
{% for exam_type, exams in all_exams %}
|
|
||||||
{% if exams %}
|
|
||||||
<h4>{{exam_type|title}}</h4>
|
|
||||||
<ul>
|
|
||||||
{% for exam in exams %}
|
|
||||||
<li><a href="">{{exam.name}} {{exam.get_cid_user_score|cid}}</a></li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
Reference in New Issue
Block a user