Skip to content
Snippets Groups Projects
Commit 8ebebeec authored by Parbhat Puri's avatar Parbhat Puri Committed by Fredrik Jonsson
Browse files

Display first group answers in Open call index page for a submission

parent bfcf5f25
No related branches found
No related tags found
No related merge requests found
...@@ -4,7 +4,7 @@ from django.core.files import File ...@@ -4,7 +4,7 @@ from django.core.files import File
from django.core.files.storage import get_storage_class from django.core.files.storage import get_storage_class
from opentech.apply.stream_forms.blocks import ( from opentech.apply.stream_forms.blocks import (
FileFieldBlock, FormFieldBlock, ImageFieldBlock, MultiFileFieldBlock FileFieldBlock, FormFieldBlock, GroupToggleBlock, ImageFieldBlock, MultiFileFieldBlock
) )
from opentech.apply.utils.blocks import SingleIncludeMixin from opentech.apply.utils.blocks import SingleIncludeMixin
...@@ -124,6 +124,14 @@ class AccessFormData: ...@@ -124,6 +124,14 @@ class AccessFormData:
elif isinstance(field.block, FormFieldBlock): elif isinstance(field.block, FormFieldBlock):
yield field_id yield field_id
@property
def first_group_question_field_ids(self):
for field_id, field in self.fields.items():
if isinstance(field.block, GroupToggleBlock):
break
elif isinstance(field.block, FormFieldBlock):
yield field_id
@property @property
def raw_fields(self): def raw_fields(self):
# Field ids to field class mapping - similar to raw_data # Field ids to field class mapping - similar to raw_data
...@@ -157,6 +165,14 @@ class AccessFormData: ...@@ -157,6 +165,14 @@ class AccessFormData:
if field_id not in self.named_blocks if field_id not in self.named_blocks
] ]
@property
def first_group_normal_blocks(self):
return [
field_id
for field_id in self.first_group_question_field_ids
if field_id not in self.named_blocks
]
def serialize(self, field_id): def serialize(self, field_id):
field = self.field(field_id) field = self.field(field_id)
data = self.data(field_id) data = self.data(field_id)
...@@ -180,6 +196,12 @@ class AccessFormData: ...@@ -180,6 +196,12 @@ class AccessFormData:
for field_id in self.normal_blocks for field_id in self.normal_blocks
] ]
def render_first_group_answers(self):
return [
self.render_answer(field_id, include_question=True)
for field_id in self.first_group_normal_blocks
]
def render_text_blocks_answers(self): def render_text_blocks_answers(self):
# Returns a list of the rendered answers of type text # Returns a list of the rendered answers of type text
return [ return [
...@@ -191,3 +213,6 @@ class AccessFormData: ...@@ -191,3 +213,6 @@ class AccessFormData:
def output_answers(self): def output_answers(self):
# Returns a safe string of the rendered answers # Returns a safe string of the rendered answers
return mark_safe(''.join(self.render_answers())) return mark_safe(''.join(self.render_answers()))
def output_first_group_answers(self):
return mark_safe(''.join(self.render_first_group_answers()))
...@@ -15,6 +15,19 @@ ...@@ -15,6 +15,19 @@
<h4 class="listing__title">{{ submission.title }}</h4> <h4 class="listing__title">{{ submission.title }}</h4>
<a class="listing__button" href="{% pageurl submission.page %}">Build it</a> <a class="listing__button" href="{% pageurl submission.page %}">Build it</a>
</div> </div>
<div>
<div>
<h5>Project Duration</h5>
{{ submission.get_duration_display }}
</div>
<div>
<h5>Name</h5>
{{ submission.get_full_name_display }}
</div>
<div class="rich-text rich-text--answers">
{{ submission.output_first_group_answers }}
</div>
</div>
{% endfor %} {% endfor %}
......
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