diff --git a/longs/templates/longs/exam_overview.html b/longs/templates/longs/exam_overview.html index 97239ec9..032586af 100644 --- a/longs/templates/longs/exam_overview.html +++ b/longs/templates/longs/exam_overview.html @@ -62,6 +62,8 @@ JSON Refresh JSON cache + Refresh Question JSON cache + diff --git a/longs/urls.py b/longs/urls.py index b0459efe..367e1db5 100755 --- a/longs/urls.py +++ b/longs/urls.py @@ -39,6 +39,7 @@ urlpatterns = [ ), path("exam//", views.LongExamViews.exam_overview, name="exam_overview"), path("exam//json_edit", views.LongExamViews.exam_json_edit, name="exam_json_edit"), + path("exam//question_json_refresh", views.refresh_exam_question_json, name="refresh_exam_question_json"), path("exam//scores", views.exam_scores_cid, name="exam_scores_cid"), path( "exam//scores//", diff --git a/longs/views.py b/longs/views.py index 4c304c4c..337883a6 100755 --- a/longs/views.py +++ b/longs/views.py @@ -1028,4 +1028,16 @@ def user_answer_delete_multiple(request): for id in answer_ids: CidUserAnswer.objects.get(pk=id).delete() return HttpResponseRedirect(request.path_info) - return HttpResponse("/") \ No newline at end of file + return HttpResponse("/") + + +@user_passes_test(lambda u: u.is_superuser) +def refresh_exam_question_json(request, pk): + exam = Exam.objects.get(pk=pk) + + for question in exam.exam_questions.all(): + question.recreate_json = True + question.save() + + return redirect("longs:exam_overview", pk=pk) +