This commit is contained in:
Ross
2022-04-04 13:44:43 +01:00
parent 562d12abc7
commit c05b86d61e
3 changed files with 59 additions and 3 deletions
+10 -1
View File
@@ -405,4 +405,13 @@ class CidReportAnswerForm(ModelForm):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(CidReportAnswerForm, self).__init__(*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> <h3>Marking case: {{case_detail.case.title}}</h3>
<ul> <ul>
{% for answer in answers %} {% for answer, form in answer_forms %}
<li> <li>
{{answer.answer}}: {{answer.score}} {{answer.cid}}<br />
Answer: {{answer.answer}} <br />
Score: {{answer.score}}<br />
{{form}}
</li> </li>
{% endfor %} {% endfor %}
</ul> </ul>
+43
View File
@@ -34,6 +34,7 @@ from .forms import (
CaseCollectionForm, CaseCollectionForm,
CaseForm, CaseForm,
CidReportAnswerForm, CidReportAnswerForm,
CidReportAnswerMarkForm,
ConditionForm, ConditionForm,
FindingForm, FindingForm,
SeriesForm, SeriesForm,
@@ -1121,6 +1122,47 @@ def collection_mark_question(request, pk, case_number):
answers = CidReportAnswer.objects.filter(question__in=case_detail) 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( return render(
request, request,
"atlas/collection_mark_question.html", "atlas/collection_mark_question.html",
@@ -1129,6 +1171,7 @@ def collection_mark_question(request, pk, case_number):
"answers": answers, "answers": answers,
"case_detail": case_detail, "case_detail": case_detail,
"case_number": case_number, "case_number": case_number,
"answer_forms": answer_forms,
}, },
) )