diff --git a/atlas/views.py b/atlas/views.py index 46749d61..23443517 100755 --- a/atlas/views.py +++ b/atlas/views.py @@ -1275,10 +1275,13 @@ 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) - + return collection_case_view_base(request, pk, case_number, True, cid, passcode) +@user_is_collection_author_or_atlas_editor def collection_case_view(request, pk, case_number, take=False, cid=None, passcode=None): + return collection_case_view_base(request, pk, case_number, take=False, cid=None, passcode=None) + +def collection_case_view_base(request, pk, case_number, take=False, cid=None, passcode=None): collection = get_object_or_404(CaseCollection, pk=pk) form = None @@ -1290,6 +1293,7 @@ def collection_case_view(request, pk, case_number, take=False, cid=None, passcod if take and not collection.check_cid_user(cid, passcode, request): raise Http404("Error accessing exam") + elif request.user.id not in cases = collection.cases.all().order_by("casedetail__sort_order").prefetch_related() case = cases[case_number]