This commit is contained in:
Ross
2022-04-02 23:14:44 +01:00
parent 7930443029
commit f3af33c92c
4 changed files with 94 additions and 39 deletions
+46 -20
View File
@@ -308,11 +308,13 @@ class SeriesDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
template_name = "confirm_delete.html"
success_url = reverse_lazy("atlas:series_view")
class CaseCollectionDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
model = CaseCollection
template_name = "confirm_delete.html"
success_url = reverse_lazy("atlas:collection_view")
class ConditionDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
model = Condition
template_name = "confirm_delete.html"
@@ -1044,7 +1046,7 @@ def categories_list(request):
)
#def collection_view(request):
# def collection_view(request):
# collections = CaseCollection.objects.all()
#
# return render(
@@ -1062,40 +1064,52 @@ class CollectionView(LoginRequiredMixin, SingleTableMixin, FilterView):
def collection_detail(request, pk):
collection = get_object_or_404(CaseCollection, pk=pk)
return render(
request, "atlas/collection_detail.html", {"collection": collection}
)
return render(request, "atlas/collection_detail.html", {"collection": collection})
def collection_take(request, pk):
collection = get_object_or_404(CaseCollection, pk=pk)
return render(
request, "atlas/collection_take.html", {"collection": collection}
)
return render(request, "atlas/collection_take.html", {"collection": collection})
@user_is_collection_author_or_atlas_editor
def collection_mark_cid(request, pk):
collection = get_object_or_404(CaseCollection, pk=pk)
return render(
request, "atlas/collection_take.html", {"collection": collection}
)
return render(request, "atlas/collection_take.html", {"collection": collection})
@user_is_collection_author_or_atlas_editor
def collection_scores_cid(request, pk):
collection = get_object_or_404(CaseCollection, pk=pk)
return render(
request, "atlas/collection_take.html", {"collection": collection}
)
return render(request, "atlas/collection_take.html", {"collection": collection})
@user_is_collection_author_or_atlas_editor
def collection_candidates(request, pk):
collection = get_object_or_404(CaseCollection, pk=pk)
return render(
request, "atlas/collection_take.html", {"collection": collection}
)
if (
request.user in collection.author.all()
or request.user.groups.filter(name="cid_user_manager").exists()
):
cid_users = collection.valid_users.all()
cid_user_count = cid_users.count()
return render(
request,
"atlas/collection_candidates.html",
{
"collection": collection,
"cid_users": cid_users,
"cid_user_count": cid_user_count,
},
)
raise PermissionDenied
def collection_take_overview(request, pk, cid, passcode):
collection = get_object_or_404(CaseCollection, pk=pk)
@@ -1141,12 +1155,14 @@ def collection_take_overview(request, pk, cid, passcode):
},
)
def collection_case_view_take(request, pk, case_number, cid, passcode):
return collection_case_view(request, pk, case_number, True, cid, passcode)
def collection_case_view(request, pk, case_number, take=False, cid=None, passcode=None):
collection = get_object_or_404(CaseCollection, pk=pk)
form = None
if collection.collection_type != collection.COLLECTION_TYPE_CHOICES.REVIEW:
@@ -1183,14 +1199,24 @@ def collection_case_view(request, pk, case_number, take=False, cid=None, passcod
kwargs = {"pk": pk, "cid": cid, "passcode": passcode}
if "next" in request.POST:
return redirect("atlas:collection_case_view_take", case_number=case_number + 1, **kwargs)
return redirect(
"atlas:collection_case_view_take",
case_number=case_number + 1,
**kwargs
)
elif "previous" in request.POST:
return redirect("atlas:collection_case_view_take", case_number=case_number - 1, **kwargs)
return redirect(
"atlas:collection_case_view_take",
case_number=case_number - 1,
**kwargs
)
elif "finish" in request.POST:
return redirect("atlas:collection_take_overview", **kwargs)
elif "goto" in request.POST:
return redirect(
"atlas:collection_case_view_take", case_number=int(request.POST.get("goto")), **kwargs
"atlas:collection_case_view_take",
case_number=int(request.POST.get("goto")),
**kwargs
)
else:
form = CidReportAnswerForm(instance=answer)