.
This commit is contained in:
+36
-9
@@ -129,11 +129,11 @@ class ExamBase(models.Model):
|
||||
|
||||
def get_exam_stats(self):
|
||||
text = f"""{self.name}
|
||||
-----
|
||||
Candidate number: {self.stats_candidates}
|
||||
Max (possible) score: {self.stats_max_possible}
|
||||
Mean: {self.stats_mean} Median: {self.stats_median} Mode: {self.stats_mode} [Min: {self.stats_min} / Max: {self.stats_max}]
|
||||
"""
|
||||
-----
|
||||
- Candidate number: {self.stats_candidates}
|
||||
- Max (possible) score: {self.stats_max_possible}
|
||||
- Mean: {self.stats_mean} Median: {self.stats_median} Mode: {self.stats_mode} [Min: {self.stats_min} / Max: {self.stats_max}]
|
||||
"""
|
||||
return text
|
||||
|
||||
def __str__(self):
|
||||
@@ -209,6 +209,13 @@ class ExamBase(models.Model):
|
||||
content_type=content_type, object_id=self.pk, cid_user=cid_user
|
||||
)
|
||||
|
||||
def get_cid_user_score(self, cid_user):
|
||||
c = str(cid_user)
|
||||
if c in self.user_scores:
|
||||
return self.user_scores[c]
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
class NoteType(models.Model):
|
||||
note_type = models.CharField(max_length=200)
|
||||
@@ -305,7 +312,7 @@ class CidUser(models.Model):
|
||||
for n, t in self.EXAM_TYPES:
|
||||
exam_rel = getattr(self, t)
|
||||
if exam_rel.exists():
|
||||
exams = exam_rel.filter(exam_mode=True)
|
||||
exams = exam_rel.filter(exam_mode=True).order("name")
|
||||
available_exams.append((n, exams))
|
||||
|
||||
return available_exams
|
||||
@@ -315,10 +322,30 @@ class CidUser(models.Model):
|
||||
return False, "Already sent."
|
||||
|
||||
# Get a list of taken exams
|
||||
exams = self.get_cid_exams()
|
||||
exam_list = self.get_cid_exams()
|
||||
|
||||
msg = f"""
|
||||
"""
|
||||
exam_text = []
|
||||
|
||||
for exam_type, exams in exam_list:
|
||||
exam_text.append(f"{exam_type}\n====")
|
||||
|
||||
for exam in exams:
|
||||
print(exam)
|
||||
try:
|
||||
user_score = exam.user_scores[str(self.cid)]
|
||||
except KeyError:
|
||||
user_score = "Score not generated"
|
||||
t = exam.get_exam_stats()
|
||||
|
||||
exam_text.append(
|
||||
f"""{t}
|
||||
== Score: {user_score}
|
||||
"""
|
||||
)
|
||||
|
||||
msg = "\n\n".join(exam_text)
|
||||
|
||||
print(msg)
|
||||
|
||||
html_msg = f""""""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user