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)
+