diff --git a/atlas/forms.py b/atlas/forms.py
index 69fb8692..1a18b2e2 100755
--- a/atlas/forms.py
+++ b/atlas/forms.py
@@ -405,4 +405,13 @@ class CidReportAnswerForm(ModelForm):
def __init__(self, *args, **kwargs):
super(CidReportAnswerForm, self).__init__(*args, **kwargs)
- self.fields['answer'].required = False
\ No newline at end of file
+ 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
\ No newline at end of file
diff --git a/atlas/templates/atlas/collection_mark_question.html b/atlas/templates/atlas/collection_mark_question.html
index 6d005ce4..ee1674cf 100644
--- a/atlas/templates/atlas/collection_mark_question.html
+++ b/atlas/templates/atlas/collection_mark_question.html
@@ -5,10 +5,14 @@
Marking case: {{case_detail.case.title}}
-{% for answer in answers %}
+{% for answer, form in answer_forms %}
-
- {{answer.answer}}: {{answer.score}}
+ {{answer.cid}}
+ Answer: {{answer.answer}}
+ Score: {{answer.score}}
+ {{form}}
+
{% endfor %}
diff --git a/atlas/views.py b/atlas/views.py
index 4e2b4f57..5241bb6a 100755
--- a/atlas/views.py
+++ b/atlas/views.py
@@ -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,
},
)