2015-12-14 16:53:07 +00:00
{% extends "withnav_template.html" %}
2016-03-07 18:47:05 +00:00
{% from "components/banner.html" import banner_wrapper %}
2016-08-07 09:17:49 +01:00
{% from "components/radios.html" import radio_select %}
2016-04-05 11:16:29 +01:00
{% from "components/table.html" import list_table, field, text_field, index_field, hidden_field_heading %}
2016-02-17 14:20:55 +00:00
{% from "components/file-upload.html" import file_upload %}
2023-08-30 11:07:38 -04:00
{% from "components/components/back-link/macro.njk" import usaBackLink %}
2016-06-03 13:52:15 +01:00
2017-02-13 10:45:15 +00:00
{% block service_page_title %}
2023-10-06 11:31:28 -04:00
Error
2015-11-30 14:20:17 +00:00
{% endblock %}
2021-07-30 14:42:54 +01:00
{% block backLink %}
2023-12-19 08:08:02 -08:00
<!-- hide back link for one - off sends because the user never created a csv file -->
2023-12-20 10:26:14 -08:00
{% if recipients|length == 1 and not recipients.allowed_to_send_to and not recipients.missing_column_headers %}
2023-12-19 08:08:02 -08:00
<!-- do nothing -->
{% else %}
{{ usaBackLink({ "href": back_link }) }}
{% endif %}
2021-07-30 14:42:54 +01:00
{% endblock %}
{% block maincolumn_content %}
2019-04-29 11:44:05 +01:00
2023-10-06 11:31:28 -04:00
< div class = "" >
{% call banner_wrapper(type='dangerous') %}
2017-07-20 09:20:01 +01:00
2023-10-06 11:31:28 -04:00
{% if recipients.too_many_rows %}
2016-10-14 10:44:28 +01:00
2023-10-06 11:31:28 -04:00
< div class = "usa-alert usa-alert--error" role = "alert" >
< div class = "usa-alert__body" >
< h1 class = "usa-alert__heading banner-title" data-module = "track-error" data-error-type = "Too many rows" data-error-label = "{{ upload_id }}" > Your file has too many rows< / h1 >
< p class = "usa-alert__text" >
2016-10-14 10:44:28 +01:00
Notify can process up to
{{ "{:,}".format(recipients.max_rows) }} rows at once. Your
file has {{ "{:,}".format(recipients|length) }} rows.
2023-10-06 11:31:28 -04:00
< / p >
< / div >
< / div >
{% elif not count_of_recipients %}
< div class = "usa-alert usa-alert--error" role = "alert" >
< div class = "usa-alert__body" >
< h1 class = "usa-alert__heading banner-title" data-module = "track-error" data-error-type = "No rows"
data-error-label="{{ upload_id }}">Your file is missing some rows
< / h1 >
{% if recipients.missing_column_headers %}
< p class = "usa-alert-text" >
It needs at least one row of data, and {{ recipients.missing_column_headers | sort() | formatted_list(
prefix='a column called',
prefix_plural='columns called'
) }}.
< / p >
{% else %}
< p class = "usa-alert-text" >
It needs at least one row of data.
< / p >
{% endif %}
< / div >
< / div >
{% elif not recipients.has_recipient_columns %}
< div class = "usa-alert usa-alert--error" role = "alert" >
< div class = "usa-alert__body" >
< h1 class = "usa-alert__heading banner-title" data-module = "track-error" data-error-type = "Missing recipient columns"
data-error-label="{{ upload_id }}">There’ s a problem with your column names< / h1 >
< p class = "usa-alert-text" >
Your file needs a column called ‘ {{ first_recipient_column }}’ .
< / p >
< p class = "usa-alert-text" >
Right now it has {{ recipients.column_headers | formatted_list(
prefix='one column, called ',
prefix_plural='columns called '
) }}.
< / p >
< / div >
< / div >
{% elif recipients.duplicate_recipient_column_headers %}
< div class = "usa-alert usa-alert--error" role = "alert" >
< div class = "usa-alert__body" >
< h1 class = "usa-alert__heading banner-title" data-module = "track-error" data-error-type = "Duplicate recipient columns"
data-error-label="{{ upload_id }}">There’ s a problem with your column names< / h1 >
< p class = "usa-alert__text" >
We found more than one column called {{ (
recipients.duplicate_recipient_column_headers
) | formatted_list(
2023-10-05 16:20:37 -04:00
conjunction='or',
prefix='',
prefix_plural=''
2023-10-06 11:31:28 -04:00
) }}.
< / p >
< p class = "usa-alert__text" >
Delete or rename one of these columns and try again.
< / p >
< / div >
< / div >
2023-10-05 16:20:37 -04:00
2023-10-06 11:31:28 -04:00
{% elif recipients.missing_column_headers %}
2017-07-20 09:20:01 +01:00
2023-10-06 11:31:28 -04:00
< div class = "usa-alert usa-alert--error" role = "alert" >
< div class = "usa-alert__body" >
< h1 class = "usa-alert__heading banner-title" data-module = "track-error" data-error-type = "Missing placeholder columns"
data-error-label="{{ upload_id }}">Your column names need to match the double brackets in your template< / h1 >
< p class = "usa-alert__text" >
Your file is missing {{ recipients.missing_column_headers | formatted_list(
conjunction='and',
prefix='a column called ',
prefix_plural='columns called '
) }}.
< / p >
< / div >
< / div >
2019-02-04 14:08:11 +00:00
2023-10-06 11:31:28 -04:00
{% elif sent_previously %}
2019-02-04 14:08:11 +00:00
2023-10-06 11:31:28 -04:00
{% include "partials/check/sent-previously.html" %}
2017-08-08 09:35:51 +01:00
2023-10-06 11:31:28 -04:00
{% elif not recipients.allowed_to_send_to %}
2017-08-08 09:35:51 +01:00
2023-10-06 11:31:28 -04:00
{% 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 %}
2017-08-08 10:31:09 +01:00
2023-10-06 11:31:28 -04:00
{% elif recipients.more_rows_than_can_send %}
2017-08-08 10:31:09 +01:00
2023-10-06 11:31:28 -04:00
{% include "partials/check/too-many-messages.html" %}
2017-07-20 09:20:01 +01:00
2023-10-06 11:31:28 -04:00
{% endif %}
2016-01-11 15:00:51 +00:00
2023-10-06 11:31:28 -04:00
{% endcall %}
< / div >
2017-12-14 11:58:40 +00:00
2023-12-19 08:08:02 -08:00
<!-- hide the upload button and back to top link for one off sends -->
2023-12-20 10:26:14 -08:00
{% if recipients|length == 1 and not recipients.allowed_to_send_to and not recipients.missing_column_headers %}
2023-12-19 08:08:02 -08:00
<!-- do nothing -->
{% else %}
2023-10-06 11:31:28 -04:00
< div class = "js-stick-at-top-when-scrolling" >
< div class = "form-group" >
{% if not request.args.from_test %}
{{ file_upload(
form.file,
allowed_file_extensions=allowed_file_extensions,
action=url_for('.send_messages', service_id=current_service.id, template_id=template.id),
button_text='Upload your file again'
) }}
2017-12-14 11:58:40 +00:00
{% endif %}
< / div >
2023-10-06 11:31:28 -04:00
< a href = "#content" class = "usa-link back-to-top-link" > Back to top< / a >
< / div >
2023-12-19 08:08:02 -08:00
{% endif %}
2023-10-06 11:31:28 -04:00
{% if not request.args.from_test %}
{% set column_headers = recipients._raw_column_headers if recipients.duplicate_recipient_column_headers else
recipients.column_headers %}
< h2 class = "font-body-lg" id = "file-preview" > {{ original_file_name }}< / h2 >
< div class = "fullscreen-content" data-module = "fullscreen-table" >
{% call(item, row_number) list_table(
recipients.displayed_rows,
caption=original_file_name,
caption_visible=False,
field_headings=[
'< span class = "usa-sr-only" > Row in file< / span > < span aria-hidden = "true" > 1< / span > '|safe
] + column_headers
) %}
{% call index_field() %}
< span >
{% set displayed_index = item.index + 2 %}
{{ displayed_index }}
< / span >
{% endcall %}
{% for column in column_headers %}
{% if item[column].error and not recipients.missing_column_headers %}
{% call field() %}
< span >
< span class = "table-field-error-label" > {{ item[column].error }}< / span >
{{ item[column].data if item[column].data != None }}
< / span >
{% endcall %}
{% elif item[column].ignore %}
{{ text_field(item[column].data or '', status='default') }}
{% else %}
{{ text_field(item[column].data or '') }}
{% endif %}
{% endfor %}
{% if item[None].data %}
{% for column in item[None].data %}
{{ text_field(column, status='default') }}
{% endfor %}
{% endif %}
{% endcall %}
{% endif %}
< / div >
{% if recipients.too_many_rows %}
< p class = "table-show-more-link" >
Only showing the first {{ count_of_displayed_recipients }} rows
< / p >
{% elif count_of_displayed_recipients < count_of_recipients % } < p class = "table-show-more-link" >
{% if row_errors and not recipients.missing_column_headers %}
Only showing the first {{ count_of_displayed_recipients }} rows with errors
{% else %}
Only showing the first {{ count_of_displayed_recipients }} rows
{% endif %}
< / p >
2016-06-03 14:38:10 +01:00
{% elif row_errors and not recipients.missing_column_headers %}
2023-10-06 11:31:28 -04:00
< p class = "table-show-more-link" >
Only showing rows with errors
< / p >
2016-03-07 18:47:05 +00:00
{% endif %}
2023-06-06 15:28:24 -04:00
< h2 class = "font-body-lg" > Preview of {{ template.name }}< / h2 >
2017-07-20 09:10:23 +01:00
{{ template|string }}
2017-05-19 08:16:41 +01:00
2023-12-19 08:08:02 -08:00
{% endblock %}