+ def fields(self):
+ for field_desc in self.assignment.field_descriptions:
+ field_name, params = field_desc
+ if params['type'] == 'options':
+ option = self.fieldoption_set.filter(set__name=params['option_set'])
+ value = option.get().value if option else '--------'
+ else: # text, link
+ value = self.field_values.get(field_name, '')
+ if params['type'] == 'link':
+ value = format_html(u'<a href="{url}">{url}</a>', url=value)
+ yield field_name, value
+