.
This commit is contained in:
+10
-1
@@ -405,4 +405,13 @@ class CidReportAnswerForm(ModelForm):
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CidReportAnswerForm, self).__init__(*args, **kwargs)
|
||||
self.fields['answer'].required = False
|
||||
self.fields['answer'].required = False
|
||||
|
||||
class CidReportAnswerMarkForm(ModelForm):
|
||||
class Meta:
|
||||
model = CidReportAnswer
|
||||
fields = ["score"]
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CidReportAnswerMarkForm, self).__init__(*args, **kwargs)
|
||||
self.fields['score'].required = False
|
||||
@@ -5,10 +5,14 @@
|
||||
<h3>Marking case: {{case_detail.case.title}}</h3>
|
||||
|
||||
<ul>
|
||||
{% for answer in answers %}
|
||||
{% for answer, form in answer_forms %}
|
||||
<li>
|
||||
{{answer.answer}}: {{answer.score}}
|
||||
{{answer.cid}}<br />
|
||||
Answer: {{answer.answer}} <br />
|
||||
Score: {{answer.score}}<br />
|
||||
{{form}}
|
||||
</li>
|
||||
|
||||
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
@@ -34,6 +34,7 @@ from .forms import (
|
||||
CaseCollectionForm,
|
||||
CaseForm,
|
||||
CidReportAnswerForm,
|
||||
CidReportAnswerMarkForm,
|
||||
ConditionForm,
|
||||
FindingForm,
|
||||
SeriesForm,
|
||||
@@ -1121,6 +1122,47 @@ def collection_mark_question(request, pk, case_number):
|
||||
|
||||
answers = CidReportAnswer.objects.filter(question__in=case_detail)
|
||||
|
||||
answer_forms = []
|
||||
if request.method == "POST":
|
||||
for answer in answers:
|
||||
if answer:
|
||||
form = CidReportAnswerMarkForm(request.POST, instance=answer)
|
||||
else:
|
||||
form = CidReportAnswerMarkForm(request.POST)
|
||||
if form.is_valid():
|
||||
answer = form.save(commit=False)
|
||||
#answer.cid = cid
|
||||
#answer.question = case_detail
|
||||
# answer.published_date = timezone.now()
|
||||
answer.save()
|
||||
|
||||
kwargs = {"pk": pk}
|
||||
|
||||
if "save" in request.POST:
|
||||
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
|
||||
)
|
||||
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
|
||||
)
|
||||
else:
|
||||
for answer in answers:
|
||||
form = CidReportAnswerMarkForm(instance=answer)
|
||||
answer_forms.append((answer, form))
|
||||
|
||||
return render(
|
||||
request,
|
||||
"atlas/collection_mark_question.html",
|
||||
@@ -1129,6 +1171,7 @@ def collection_mark_question(request, pk, case_number):
|
||||
"answers": answers,
|
||||
"case_detail": case_detail,
|
||||
"case_number": case_number,
|
||||
"answer_forms": answer_forms,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user