Refactor collection case view documentation and enhance management view with edit permissions
This commit is contained in:
+20
-22
@@ -4693,21 +4693,18 @@ def collection_case_view_take_user(request, pk, case_number=None, case_id=None):
|
|||||||
def collection_case_view_take(
|
def collection_case_view_take(
|
||||||
request, pk, case_number=None, cid=None, passcode=None, case_id=None
|
request, pk, case_number=None, cid=None, passcode=None, case_id=None
|
||||||
):
|
):
|
||||||
"""
|
"""Candidate-facing collection case taking/review screen.
|
||||||
Displays the page from which the user takes a case in the collection
|
|
||||||
|
|
||||||
Args:
|
This view is for end users taking a case (or reviewing their answers after
|
||||||
request (_type_): _description_
|
completion). It should remain answer-focused and must not expose management
|
||||||
pk (int): _description_
|
edit controls for case content.
|
||||||
case_number (int): _description_
|
|
||||||
cid (_type_, optional): _description_. Defaults to None.
|
Supports either:
|
||||||
passcode (_type_, optional): _description_. Defaults to None.
|
- ``case_number``: zero-based index within the collection
|
||||||
|
- ``case_id``: case PK (translated to the collection index)
|
||||||
|
|
||||||
Raises:
|
Raises:
|
||||||
Http404: If user does not have access
|
Http404: If access is invalid or no case is specified.
|
||||||
|
|
||||||
Returns:
|
|
||||||
_type_: _description_
|
|
||||||
"""
|
"""
|
||||||
collection = get_object_or_404(CaseCollection, pk=pk)
|
collection = get_object_or_404(CaseCollection, pk=pk)
|
||||||
|
|
||||||
@@ -4937,7 +4934,6 @@ def collection_case_view_take(
|
|||||||
# Determine whether any prior series will be shown to the candidate.
|
# Determine whether any prior series will be shown to the candidate.
|
||||||
has_priors = any(prior_flag for (_, prior_flag, _) in series_to_load)
|
has_priors = any(prior_flag for (_, prior_flag, _) in series_to_load)
|
||||||
prior_count = prior_cases.count()
|
prior_count = prior_cases.count()
|
||||||
|
|
||||||
return render(
|
return render(
|
||||||
request,
|
request,
|
||||||
"atlas/collection_case_view_take.html",
|
"atlas/collection_case_view_take.html",
|
||||||
@@ -4972,18 +4968,18 @@ def collection_case_view_take(
|
|||||||
|
|
||||||
@user_is_collection_author_or_atlas_editor
|
@user_is_collection_author_or_atlas_editor
|
||||||
def collection_case_view(request, pk, case_number=None, case_id=None):
|
def collection_case_view(request, pk, case_number=None, case_id=None):
|
||||||
"""Edit/management overview of the case (as part of the collection)
|
"""Management view for a case within a collection.
|
||||||
|
|
||||||
Args:
|
This view is used by collection authors/atlas editors to manage case
|
||||||
request (_type_): _description_
|
content in collection context. It renders the full case detail template and
|
||||||
pk (_type_): _description_
|
provides ``can_edit`` for inline editing widgets/partials.
|
||||||
case_number (_type_): _description_
|
|
||||||
|
Supports either:
|
||||||
|
- ``case_number``: zero-based index within the collection
|
||||||
|
- ``case_id``: case PK (translated to the collection index)
|
||||||
|
|
||||||
Raises:
|
Raises:
|
||||||
Http404: _description_
|
Http404: If no valid case is specified.
|
||||||
|
|
||||||
Returns:
|
|
||||||
_type_: _description_
|
|
||||||
"""
|
"""
|
||||||
collection = get_object_or_404(CaseCollection, pk=pk)
|
collection = get_object_or_404(CaseCollection, pk=pk)
|
||||||
|
|
||||||
@@ -5013,6 +5009,7 @@ def collection_case_view(request, pk, case_number=None, case_id=None):
|
|||||||
|
|
||||||
previous = collection.get_previous_case(casedetail.case)
|
previous = collection.get_previous_case(casedetail.case)
|
||||||
next = collection.get_next_case(casedetail.case)
|
next = collection.get_next_case(casedetail.case)
|
||||||
|
can_edit = case.check_user_can_edit(request.user)
|
||||||
|
|
||||||
return render(
|
return render(
|
||||||
request,
|
request,
|
||||||
@@ -5027,6 +5024,7 @@ def collection_case_view(request, pk, case_number=None, case_id=None):
|
|||||||
"case_number": case_number,
|
"case_number": case_number,
|
||||||
"previous": previous,
|
"previous": previous,
|
||||||
"next": next,
|
"next": next,
|
||||||
|
"can_edit": can_edit,
|
||||||
"answer": answer,
|
"answer": answer,
|
||||||
"cimar_sid": request.user.userprofile.cimar_sid,
|
"cimar_sid": request.user.userprofile.cimar_sid,
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user