.
This commit is contained in:
+9
-5
@@ -317,11 +317,7 @@ class CidUser(models.Model):
|
||||
|
||||
return available_exams
|
||||
|
||||
def email_results(self, resend=False):
|
||||
if self.results_email_sent and not resend:
|
||||
return False, "Already sent."
|
||||
|
||||
# Get a list of taken exams
|
||||
def generate_exam_report(self):
|
||||
exam_list = self.get_cid_exams()
|
||||
|
||||
exam_text = []
|
||||
@@ -346,9 +342,17 @@ class CidUser(models.Model):
|
||||
msg = "\n\n".join(exam_text)
|
||||
|
||||
print(msg)
|
||||
return msg
|
||||
|
||||
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:
|
||||
send_mail(
|
||||
f"{self.group} results",
|
||||
|
||||
+2
-26
@@ -92,37 +92,13 @@ def cid_results(request, cid):
|
||||
if not cid_user:
|
||||
raise Http404("CID not found")
|
||||
|
||||
EXAM_ANSWER_MAP = {
|
||||
"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()
|
||||
report = cid_user.generate_exam_report()
|
||||
|
||||
return render(
|
||||
request,
|
||||
"cid_results.html",
|
||||
{
|
||||
# "physics_exams": physics_exams,
|
||||
# "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,
|
||||
"report": report,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -2,29 +2,7 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="">
|
||||
<h2>CID: {{ cid }}</h2>
|
||||
<p>The following exams will be available to take when active.
|
||||
{% 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 %}
|
||||
{{report}}
|
||||
</div>
|
||||
|
||||
<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 %}
|
||||
|
||||
Reference in New Issue
Block a user