예제 #1
0
    def to_representation(self, app, *args, **kwargs):
        app_fields = super().to_representation(app, *args, **kwargs)
        display_form, letter = get_display_form_for_application(app)
        data = OrderedDict(id=app.form_submission_id)
        data['Link'] = app.form_submission.get_external_url()
        data['Application Date'] = \
            app.form_submission.get_local_date_received('%m/%d/%Y')
        for field in display_form.get_usable_fields():
            data[field.get_display_label()] = field.get_display_value()
        data['Was transferred out'] = app_fields['was_transferred_out']
        data['Has been opened'] = app_fields['has_been_opened']

        if app_fields['latest_status']:
            data['Latest status'] = app_fields['latest_status']['status_type']
            data['Latest status date'] = \
                app_fields['latest_status']['created'].strftime('%m/%d/%Y')
            data['Latest status author'] = \
                app_fields['latest_status']['author_email']
        else:
            data['Latest status'] = 'New'
            data['Latest status date'] = ''
            data['Latest status author'] = ''

        data['Status history link'] = \
            app.form_submission.get_external_history_url()
        if letter:
            for field in letter.get_usable_fields():
                data[field.get_display_label()] = field.get_display_value()
        return data
예제 #2
0
def get_concatenated_printout_for_applications(applications):
    count = len(applications)
    if count == 1:
        return get_printout_for_application(applications[0])
    else:
        return concatenated_printout([
            DisplayFormService.get_display_form_for_application(app)
            for app in applications])
예제 #3
0
def get_printout_for_application(application):
    form, letter = DisplayFormService.get_display_form_for_application(
        application)
    pdf_display = PDFFormDisplay(form, letter)
    canvas, pdf = pdf_display.render(title=get_applicant_name(form) +
                                     "- Case Details")
    filename = '{}-{}-{}-CaseDetails.pdf'.format(
        form.last_name.get_display_value(),
        form.first_name.get_display_value(), application.form_submission_id)
    pdf.seek(0)
    return filename, pdf.read()