def submissions(object_list, fields): out = [] page_answers = get_all_answers(object_list) for submission in object_list: out.append('<div class="submission">') out.append(submission_fields(submission, fields, page_answers)) D = link_detail_survey_none=DETAIL_SURVEY_NONE.DETAIL out.append(submission_link(submission, D)) out.append('</div>') return mark_safe("\n".join(out))
def submissions(object_list, fields): out = [] page_answers = get_all_answers(object_list) for submission in object_list: out.append('<div class="submission">') out.append(submission_fields(submission, fields, page_answers)) D = link_detail_survey_none = DETAIL_SURVEY_NONE.DETAIL out.append(submission_link(submission, D)) out.append('</div>') return mark_safe("\n".join(out))
def submission_fields(submission, fields=None, page_answers=None, request=None, video_height=360, video_width=288): is_staff = request and request.user.is_staff if not page_answers: page_answers = get_all_answers([submission], include_private_questions=is_staff) if not fields: if is_staff: fields = list(submission.survey.get_fields()) else: fields = list(submission.survey.get_public_fields()) out = [] answer_list = page_answers.get(submission.id, []) answers = {} when = submission.submitted_at.strftime("%B %d, %Y %I:%M:%S %p") out.append('<div class="date">%s</div>' % when) for answer in answer_list: answers[answer.question] = answer for question in fields: answer = answers.get(question, None) if answer and answer.value: out.append('<div class="field">') out.append("<label>%s</label>: " % question.label) if answer.image_answer: valid = True try: thmb = answer.image_answer.thumbnail.absolute_url args = (thmb, answer.id) out.append('<img src="%s" id="img_%d" />' % args) x_y = get_image_dimensions(answer.image_answer.file) except ThumbnailException as ex: valid = False out.append('<div class="error">%s</div>' % str(ex)) thumb_width = Answer.image_answer_thumbnail_meta["size"][0] # This extra hidden input is in case you want to enlarge # images. Don't bother enlarging images unless we'll increase # their dimensions by at least 10%. if valid and x_y and float(x_y[0]) / thumb_width > 1.1: format = '<input type="hidden" id="img_%d_full_url" ' 'value="%s" class="enlargeable" />' enlarge = answer.image_answer enlarge = enlarge.extra_thumbnails["max_enlarge"] enlarge = enlarge.absolute_url args = (answer.id, enlarge) out.append(format % args) elif question.option_type == OPTION_TYPE_CHOICES.VIDEO: if oembed_expand: html = video_html(answer.value, video_height, video_width) out.append(html) else: args = {"val": escape(answer.value)} out.append('<a href="%(val)s">%(val)s</a>' % args) else: out.append(escape(answer.value)) out.append("</div>") return mark_safe("\n".join(out))
def submission_fields(submission, fields=None, page_answers=None, request=None, video_height=360, video_width=288): is_staff = request and request.user.is_staff if not page_answers: page_answers = get_all_answers([submission], include_private_questions=is_staff) if not fields: if is_staff: fields = list(submission.survey.get_fields()) else: fields = list(submission.survey.get_public_fields()) out = [] answer_list = page_answers.get(submission.id, []) answers = {} when = submission.submitted_at.strftime("%B %d, %Y %I:%M:%S %p") out.append('<div class="date">%s</div>' % when) for answer in answer_list: answers[answer.question] = answer for question in fields: answer = answers.get(question, None) if answer and answer.value: out.append('<div class="field">') out.append('<label>%s</label>: ' % question.label) if answer.image_answer: valid = True try: thmb = answer.image_answer.thumbnail.absolute_url args = ( thmb, answer.id, ) out.append('<img src="%s" id="img_%d" />' % args) x_y = get_image_dimensions(answer.image_answer.file) except ThumbnailException as ex: valid = False out.append('<div class="error">%s</div>' % str(ex)) thumb_width = Answer.image_answer_thumbnail_meta["size"][0] # This extra hidden input is in case you want to enlarge # images. Don't bother enlarging images unless we'll increase # their dimensions by at least 10%. if valid and x_y and float(x_y[0]) / thumb_width > 1.1: format = ('<input type="hidden" id="img_%d_full_url" ' 'value="%s" class="enlargeable" />') enlarge = answer.image_answer enlarge = enlarge.extra_thumbnails["max_enlarge"] enlarge = enlarge.absolute_url args = (answer.id, enlarge) out.append(format % args) elif question.option_type == OPTION_TYPE_CHOICES.VIDEO: if oembed_expand: html = video_html(answer.value, video_height, video_width) out.append(html) else: args = {"val": escape(answer.value)} out.append('<a href="%(val)s">%(val)s</a>' % args) else: out.append(escape(answer.value)) out.append('</div>') return mark_safe("\n".join(out))