From fce0f97ebda10ccbfaecafa5c5a3f091a3d8d7d1 Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 25 Apr 2022 22:44:32 +0100 Subject: [PATCH] . --- atlas/urls.py | 1 + atlas/views.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/atlas/urls.py b/atlas/urls.py index 08521e21..d966673b 100755 --- a/atlas/urls.py +++ b/atlas/urls.py @@ -20,6 +20,7 @@ urlpatterns = [ path("collection/", views.collection_detail, name="collection_detail"), path("collection//take", views.collection_take, name="collection_take"), path("collection//cids", views.GenericExamViews.exam_cids, name="exam_cids"), + path("collection//cids//delete_answers", views.delete_cid_answers, name="delete_cid_answers"), path("collection//cids/edit", views.GenericExamViews.exam_cids_edit, name="exam_cids_edit"), path("collection//mark", views.collection_mark_overview, name="collection_mark_overview"), path("collection//mark/", views.collection_mark_question, name="collection_mark_question"), diff --git a/atlas/views.py b/atlas/views.py index 92aa77a9..64722126 100755 --- a/atlas/views.py +++ b/atlas/views.py @@ -1367,6 +1367,19 @@ def collection_case_view(request, pk, case_number): }, ) +@user_is_collection_author_or_atlas_editor +def delete_cid_answers(request, exam_id, cid): + collection = get_object_or_404(CaseCollection, pk=pk) + + cases = collection.cases.all().order_by("casedetail__sort_order").prefetch_related() + + case_details = CaseDetail.objects.filter( + case__in=cases, collection=collection + ).prefetch_related("case") + + cid_user_answers = CidReportAnswer.objects.filter(question__in=case_details, cid=cid) + + return JsonResponse(cid_user_answers) # TODO: this needs a major cleanup @user_is_collection_author_or_atlas_editor