Skip to content
Snippets Groups Projects
Commit 353f0f72 authored by Todd Dembrey's avatar Todd Dembrey
Browse files

Make sure that we can access the comments on the reviews

Adds some improvements to the way we access the data stored on the
objects, always use the definitive id regardless of required or not
parent 67b0ba77
No related branches found
Tags v2.8.1
No related merge requests found
......@@ -22,33 +22,27 @@ class AccessFormData:
# values
data = self.form_data.copy()
for field_name, field_id in self.must_include.items():
response = data.pop(field_name)
data[field_id] = response
if field_id not in data:
response = data[field_name]
data[field_id] = response
return data
def get_definitive_id(self, id):
if id in self.must_include:
return self.must_include[id]
return id
def field(self, id):
try:
return self.fields[id]
except KeyError as e:
try:
actual_id = self.must_include[id]
except KeyError:
raise e
else:
return self.fields[actual_id]
definitive_id = self.get_definitive_id(id)
return self.raw_fields[definitive_id]
def data(self, id):
definitive_id = self.get_definitive_id(id)
try:
return self.form_data[id]
return self.raw_data[definitive_id]
except KeyError as e:
try:
transposed_must_include = {v: k for k, v in self.must_include.items()}
actual_id = transposed_must_include[id]
except KeyError:
# We have most likely progressed application forms so the data isnt in form_data
return None
else:
return self.form_data[actual_id]
# We have most likely progressed application forms so the data isnt in form_data
return None
@property
def question_field_ids(self):
......
......@@ -127,6 +127,9 @@ class Review(ReviewFormFieldsMixin, BaseStreamForm, AccessFormData, models.Model
def outcome(self):
return self.get_recommendation_display()
def get_comments_display(self, include_question=True):
return self.render_answer(self.comment_field.id, include_question=include_question)
def get_absolute_url(self):
return reverse('apply:reviews:review', args=(self.id,))
......
......@@ -29,6 +29,8 @@
</div>
<div class="rich-text rich-text--answers">
{{ object.get_comments_display }}
{{ object.output_answers }}
</div>
{% endblock %}
......@@ -130,6 +130,7 @@ class ReviewListView(ListView):
review_data['score'] = {'question': 'Overall Score', 'answers': list()}
review_data['recommendation'] = {'question': 'Recommendation', 'answers': list()}
review_data['revision'] = {'question': 'Revision', 'answers': list()}
review_data['comments'] = {'question': 'Comments', 'answers': list()}
responses = self.object_list.count()
......@@ -137,6 +138,7 @@ class ReviewListView(ListView):
review_data['title']['answers'].append(str(review.author))
review_data['score']['answers'].append(str(review.score))
review_data['recommendation']['answers'].append(review.get_recommendation_display())
review_data['comments']['answers'].append(review.get_comments_display(include_question=False))
if review.for_latest:
revision = 'Current'
else:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment