.
This commit is contained in:
@@ -367,6 +367,15 @@ class ExamViews(View, LoginRequiredMixin):
|
|||||||
return JsonResponse({"success": True, "question_count": n})
|
return JsonResponse({"success": True, "question_count": n})
|
||||||
return JsonResponse({"success": False, "error": "Invalid data"})
|
return JsonResponse({"success": False, "error": "Invalid data"})
|
||||||
|
|
||||||
|
def exam_json_unbased(self, request, pk):
|
||||||
|
exam = get_object_or_404(self.Exam, pk=pk)
|
||||||
|
|
||||||
|
if not exam.active:
|
||||||
|
raise Http404("No available exam")
|
||||||
|
|
||||||
|
exam_json = exam.get_exam_json()
|
||||||
|
return JsonResponse(exam_json)
|
||||||
|
|
||||||
def exam_json(self, request, pk):
|
def exam_json(self, request, pk):
|
||||||
|
|
||||||
exam = get_object_or_404(self.Exam, pk=pk)
|
exam = get_object_or_404(self.Exam, pk=pk)
|
||||||
|
|||||||
+9
-5
@@ -376,7 +376,7 @@ class Exam(ExamBase):
|
|||||||
return len(normal)
|
return len(normal)
|
||||||
|
|
||||||
|
|
||||||
def get_exam_json(self):
|
def get_exam_json(self, based=True):
|
||||||
questions = self.exam_questions.all()
|
questions = self.exam_questions.all()
|
||||||
|
|
||||||
exam_questions = defaultdict(dict)
|
exam_questions = defaultdict(dict)
|
||||||
@@ -391,11 +391,15 @@ class Exam(ExamBase):
|
|||||||
feedback_images = []
|
feedback_images = []
|
||||||
for i in q.images.all():
|
for i in q.images.all():
|
||||||
if i.feedback_image == True:
|
if i.feedback_image == True:
|
||||||
feedback_images.append(image_as_base64(i.image))
|
if based:
|
||||||
# feedback_images.append(i.image.url)
|
feedback_images.append(image_as_base64(i.image))
|
||||||
|
else:
|
||||||
|
feedback_images.append(i.image.url)
|
||||||
else:
|
else:
|
||||||
images.append(image_as_base64(i.image))
|
if based:
|
||||||
#images.append(i.image.url)
|
images.append(image_as_base64(i.image))
|
||||||
|
else:
|
||||||
|
images.append(i.image.url)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ urlpatterns = [
|
|||||||
path("exam/create", views.ExamCreate.as_view(), name="exam_create"),
|
path("exam/create", views.ExamCreate.as_view(), name="exam_create"),
|
||||||
path("exam/json/", views.RapidExamViews.active_exams, name="active_exams"),
|
path("exam/json/", views.RapidExamViews.active_exams, name="active_exams"),
|
||||||
path("exam/json/<int:pk>", views.RapidExamViews.exam_json, name="exam_json"),
|
path("exam/json/<int:pk>", views.RapidExamViews.exam_json, name="exam_json"),
|
||||||
|
path("exam/json/<int:pk>/unbased", views.RapidExamViews.exam_json_unbased, name="exam_json_unbased"),
|
||||||
path("exam/json/<int:pk>/recreate", views.RapidExamViews.exam_json_recreate, name="exam_json_recreate"),
|
path("exam/json/<int:pk>/recreate", views.RapidExamViews.exam_json_recreate, name="exam_json_recreate"),
|
||||||
path("create/", views.RapidCreate.as_view(), name="rapid_create"),
|
path("create/", views.RapidCreate.as_view(), name="rapid_create"),
|
||||||
path("create/exam/<int:pk>", views.RapidCreate.as_view(), name="rapid_create_exam"),
|
path("create/exam/<int:pk>", views.RapidCreate.as_view(), name="rapid_create_exam"),
|
||||||
|
|||||||
Reference in New Issue
Block a user