start group editing of exams

This commit is contained in:
Ross
2020-12-31 17:42:12 +00:00
parent a585419efe
commit 166843a611
2 changed files with 33 additions and 0 deletions
+1
View File
@@ -20,6 +20,7 @@ urlpatterns = [
path("exam/<int:pk>/<int:sk>/", views.exam_take, name="exam_take"),
path("exam/<int:pk>/question/<int:sk>/", views.exam_question_detail, name="exam_question_detail"),
path("exam/<int:pk>/", views.exam_overview, name="exam_overview"),
path("exam/<int:pk>/json_edit", views.exam_json_edit, name="exam_json_edit"),
path("exam/<int:pk>/scores", views.exam_scores_cid,
name="exam_scores_cid"),
path("exam/<int:pk>/scores/<int:sk>/", views.exam_scores_cid_user,
+32
View File
@@ -317,6 +317,38 @@ def loadJsonAnswer(answer):
return True
def exam_json_edit(request):
if request.is_ajax and request.method == "POST":
n = 0
# horrible but it works
for k in request.POST.dict():
print(k)
for answer in json.loads(k):
if not "exam" in answer:
return JsonResponse({"success": False})
exam = get_object_or_404(answer["exam"])
if "set_open_access" in answer:
#answer["set_open_access"]
for q in exam.exam_questions.all():
q.open_acess = answer["set_open_access"]
q.save()
return JsonResponse({"success": True})
if ret is not True:
return ret
n = n + 1
# print(UserAnswer.objects.filter(exam__id=q["eid"]))
# print(request.urlencode())
return JsonResponse({"success": True, "question_count": n})
return JsonResponse({"success": False, "error": "Invalid data"})
@csrf_exempt
def postExamAnswers(request):