This commit is contained in:
Ross
2021-02-08 10:40:14 +00:00
parent 8fbb50ee9f
commit 4cf55f55c7
6 changed files with 104 additions and 138 deletions
+51
View File
@@ -18,6 +18,8 @@ from django.utils.html import mark_safe
from sortedm2m.fields import SortedManyToManyField
import string
from collections import defaultdict
from helpers.images import image_as_base64
from anatomy.models import Modality
@@ -303,6 +305,55 @@ class Exam(ExamBase):
default=4500,
)
def get_exam_json(self):
questions = exam.exam_questions.all()
exam_questions = defaultdict(dict)
exam_order = []
for q in questions:
exam_order.append(q.id)
# Loop through longimage associations
images = []
feedback_images = []
for i in q.images.all():
if i.feedback_image == True:
feedback_images.append(image_as_base64(i.image))
# feedback_images.append(i.image.url)
else:
images.append(image_as_base64(i.image))
#images.append(i.image.url)
exam_questions[q.id] = {
"images": images,
#"feedback_image": [],
#"annotations": [str(q.image_annotations)],
"type": "long",
}
#if feedback_images:
# exam_questions[q.id]["feedback_image"] = feedback_images
exam_json = {
"eid": "long/{}".format(exam.id),
"cached": False,
"exam_type": "long",
"exam_name": exam.name,
"exam_mode": True,
"exam_order": exam_order,
"questions": exam_questions,
}
if exam.time_limit:
exam_json["exam_time"] = exam.time_limit
return exam_json
class CidUserAnswer(models.Model):
"""User answers by candidate"""