{% extends "withnav_template.html" %} {% from "components/banner.html" import banner_wrapper %} {% from "components/radios.html" import radio_select %} {% from "components/table.html" import list_table, field, text_field, index_field, hidden_field_heading %} {% from "components/file-upload.html" import file_upload %} {% from "components/page-footer.html" import page_footer %} {% from "components/message-count-label.html" import message_count_label %} {% set file_contents_header_id = 'file-preview' %} {% macro skip_to_file_contents() %}

Skip to file contents

{% endmacro %} {% block service_page_title %} Error {% endblock %} {% block maincolumn_content %}
{% call banner_wrapper(type='dangerous') %} {% if recipients.too_many_rows %}

Your file has too many rows

Notify can process up to {{ "{:,}".format(recipients.max_rows) }} rows at once. Your file has {{ "{:,}".format(recipients|length) }} rows.

{% elif not count_of_recipients %}

Your file is missing some rows

It needs at least one row of data, and {{ recipients.missing_column_headers | sort() | formatted_list( prefix='a column called', prefix_plural='columns called' ) }}.

{% elif not recipients.has_recipient_columns %}

Your file needs {{ required_recipient_columns | formatted_list( prefix='a column called', prefix_plural='columns called' ) }}

Right now it has {{ recipients.column_headers | formatted_list( prefix='one column, called ', prefix_plural='columns called ' ) }}.

{% elif recipients.missing_column_headers %}

The columns in your file need to match the double brackets in your template

Your file is missing {{ recipients.missing_column_headers | formatted_list( conjunction='and', prefix='a column called ', prefix_plural='columns called ' ) }}.

{% elif not recipients.allowed_to_send_to %} {% with count_of_recipients=count_of_recipients, template_type_label=recipients.recipient_column_headers[0] %} {% include "partials/check/not-allowed-to-send-to.html" %} {% endwith %} {% elif trying_to_send_letters_in_trial_mode %}

You can’t send {{ 'this letter' if count_of_recipients == 1 else 'these letters' }}

In trial mode you can only preview how your letters will look

{% elif recipients.more_rows_than_can_send %} {% include "partials/check/too-many-messages.html" %} {% endif %} {{ skip_to_file_contents() }} {% endcall %}
{% if request.args.from_test %} Back {% else %} {{file_upload(form.file, button_text='Re-upload your file')}} {% endif %}
{% if not request.args.from_test %}

{{ original_file_name }}

{% call(item, row_number) list_table( recipients.initial_annotated_rows_with_errors if row_errors and not recipients.missing_column_headers else recipients.initial_annotated_rows, caption=original_file_name, caption_visible=False, field_headings=[ 'Row in file'|safe ] + recipients.column_headers ) %} {% call index_field() %} {{ item.index + 2 }} {% endcall %} {% for column in recipients.column_headers %} {% if item['columns'][column].error and not recipients.missing_column_headers %} {% call field() %} {{ item['columns'][column].error }} {{ item['columns'][column].data if item['columns'][column].data != None }} {% endcall %} {% elif item['columns'][column].ignore %} {{ text_field(item['columns'][column].data or '', status='default') }} {% else %} {{ text_field(item['columns'][column].data or '') }} {% endif %} {% endfor %} {% if item['columns'].get(None) %} {% for column in item['columns'][None].data %} {{ text_field(column, status='default') }} {% endfor %} {% endif %} {% endcall %} {% endif %} {% if recipients.too_many_rows %} {% elif count_of_displayed_recipients < count_of_recipients %} {% elif row_errors and not recipients.missing_column_headers %} {% endif %}

Preview of {{ template.name }}

{{ template|string }} {% endblock %}