diff --git a/generic/views.py b/generic/views.py index f501816c..0a8dac9a 100644 --- a/generic/views.py +++ b/generic/views.py @@ -315,7 +315,7 @@ class ExamViews(View, LoginRequiredMixin): }, ) - def active_exams(self, request, json=True): + def active_exams(self, request, json=True, based=True): exams = self.Exam.objects.all() active_exams = {"exams": []} @@ -327,9 +327,14 @@ class ExamViews(View, LoginRequiredMixin): else: creation_time = "None" + url = request.build_absolute_uri(exam.get_json_url()) + # hacky + if not based: + url = url + "/based" + obj = { "name": exam.get_exam_name(), - "url": request.build_absolute_uri(exam.get_json_url()), + "url": url, "type": self.question_type, "eid": "{}/{}".format(self.question_type, exam.pk), "json_creation_time": creation_time diff --git a/rad/urls.py b/rad/urls.py index 3425925e..981dfabb 100644 --- a/rad/urls.py +++ b/rad/urls.py @@ -37,6 +37,7 @@ urlpatterns = [ path("cid/", views.cid_selector, name="cid_selector"), # Global url that registers RTS compatible exams path("exam/json/", views.active_exams, name="active_exams"), + path("exam/json/unbased", views.active_exams_unbased, name="active_exams_unbased"), path("exam/submit", views.exam_submit, name="global_exam_answers_submit"), #path('', include('generic.urls')), diff --git a/rad/views.py b/rad/views.py index 170301f3..59b43fd0 100644 --- a/rad/views.py +++ b/rad/views.py @@ -110,6 +110,20 @@ def active_exams(request): return JsonResponse(active_exams) +def active_exams_unbased(request): + anatomy_exams = AnatomyExamViews.active_exams(request, False, False) + rapid_exams = RapidExamViews.active_exams(request, False, False) + long_exams = LongExamViews.active_exams(request, False, False) + + exams = [] + exams.extend(anatomy_exams) + exams.extend(rapid_exams) + exams.extend(long_exams) + + active_exams = {"exams": exams} + + return JsonResponse(active_exams) + @csrf_exempt def exam_submit(request):