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

Use the block render method to control display and more robust ordering

parent 69a3cd36
No related branches found
No related tags found
No related merge requests found
...@@ -134,6 +134,8 @@ class ReviewListView(ListView): ...@@ -134,6 +134,8 @@ class ReviewListView(ListView):
review_data['recommendation'] = {'question': 'Recommendation', 'answers': list()} review_data['recommendation'] = {'question': 'Recommendation', 'answers': list()}
review_data['revision'] = {'question': 'Revision', 'answers': list()} review_data['revision'] = {'question': 'Revision', 'answers': list()}
responses = self.object_list.count()
for i, review in enumerate(self.object_list): for i, review in enumerate(self.object_list):
review_data['title']['answers'].append(str(review.author)) review_data['title']['answers'].append(str(review.author))
review_data['score']['answers'].append(str(review.score)) review_data['score']['answers'].append(str(review.score))
...@@ -150,16 +152,8 @@ class ReviewListView(ListView): ...@@ -150,16 +152,8 @@ class ReviewListView(ListView):
if not isinstance(field.block, (RecommendationBlock, RichTextBlock)): if not isinstance(field.block, (RecommendationBlock, RichTextBlock)):
question = field.value['field_label'] question = field.value['field_label']
# If we haven't see the question before we backfill with '-' # If we haven't see the question before we backfill with '-'
review_data.setdefault(field.id, {'question': question, 'answers': [''] * i}) review_data.setdefault(field.id, {'question': question, 'answers': [''] * responses})
review_data[field.id]['answers'][i] = field.block.render(None, {'data': data})
if isinstance(field.block, ScoreFieldBlock):
value = json.loads(data)
rating_value = int(value[1])
rating = RATE_CHOICES_DICT.get(rating_value, RATE_CHOICE_NA)
comment = str(value[0])
review_data[field.id]['answers'].append(rating + comment)
else:
review_data[field.id]['answers'].append(str(data))
return super().get_context_data( return super().get_context_data(
submission=self.submission, submission=self.submission,
......
...@@ -38,6 +38,9 @@ class RichTextFieldBlock(TextFieldBlock): ...@@ -38,6 +38,9 @@ class RichTextFieldBlock(TextFieldBlock):
def get_searchable_content(self, value, data): def get_searchable_content(self, value, data):
return bleach.clean(data or '', tags=[], strip=True) return bleach.clean(data or '', tags=[], strip=True)
def no_response(self):
return '<p>No response</p>'
class CustomFormFieldsBlock(StreamBlock): class CustomFormFieldsBlock(StreamBlock):
rich_text = RichTextFieldBlock(group=_('Fields')) rich_text = RichTextFieldBlock(group=_('Fields'))
......
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