.
This commit is contained in:
+10
-1
@@ -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>
|
||||||
|
|||||||
@@ -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,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user