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 %}
|
2019-11-29 09:02:16 +00:00
|
|
|
|
{% from "components/back-link/macro.njk" import govukBackLink %}
|
2016-06-03 14:48:21 +01:00
|
|
|
|
{% from "components/message-count-label.html" import message_count_label %}
|
2016-06-03 13:52:15 +01:00
|
|
|
|
|
2017-02-13 10:45:15 +00:00
|
|
|
|
{% block service_page_title %}
|
2017-07-20 09:10:23 +01:00
|
|
|
|
Error
|
2015-11-30 14:20:17 +00:00
|
|
|
|
{% endblock %}
|
|
|
|
|
|
|
2015-12-14 16:53:07 +00:00
|
|
|
|
{% block maincolumn_content %}
|
|
|
|
|
|
|
2019-11-29 09:02:16 +00:00
|
|
|
|
{{ govukBackLink({ "href": back_link }) }}
|
2019-04-29 11:44:05 +01:00
|
|
|
|
|
|
|
|
|
|
<div class="bottom-gutter-1-2">
|
2017-07-20 09:20:01 +01:00
|
|
|
|
{% call banner_wrapper(type='dangerous') %}
|
|
|
|
|
|
|
|
|
|
|
|
{% if recipients.too_many_rows %}
|
2016-10-14 10:44:28 +01:00
|
|
|
|
|
2017-07-20 11:28:26 +01:00
|
|
|
|
<h1 class='banner-title' data-module="track-error" data-error-type="Too many rows" data-error-label="{{ upload_id }}">
|
2016-10-14 10:44:28 +01:00
|
|
|
|
Your file has too many rows
|
|
|
|
|
|
</h1>
|
2020-05-29 17:11:01 +01:00
|
|
|
|
<p class="govuk-body">
|
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.
|
|
|
|
|
|
</p>
|
|
|
|
|
|
|
2017-07-20 09:20:01 +01:00
|
|
|
|
{% elif not count_of_recipients %}
|
2017-02-27 14:46:01 +00:00
|
|
|
|
|
2017-07-20 11:28:26 +01:00
|
|
|
|
<h1 class='banner-title' data-module="track-error" data-error-type="No rows" data-error-label="{{ upload_id }}">
|
2019-09-18 16:13:16 +01:00
|
|
|
|
Your file is missing some rows
|
2017-02-27 14:46:01 +00:00
|
|
|
|
</h1>
|
2017-12-20 11:59:51 +00:00
|
|
|
|
{% if recipients.missing_column_headers %}
|
2020-05-29 17:11:01 +01:00
|
|
|
|
<p class="govuk-body">
|
2017-12-20 11:59:51 +00:00
|
|
|
|
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 %}
|
2020-05-29 17:11:01 +01:00
|
|
|
|
<p class="govuk-body">
|
2017-12-20 11:59:51 +00:00
|
|
|
|
It needs at least one row of data.
|
|
|
|
|
|
</p>
|
|
|
|
|
|
{% endif %}
|
2017-02-27 14:46:01 +00:00
|
|
|
|
|
2017-07-20 09:20:01 +01:00
|
|
|
|
{% elif not recipients.has_recipient_columns %}
|
2016-06-03 13:52:15 +01:00
|
|
|
|
|
2017-07-20 11:28:26 +01:00
|
|
|
|
<h1 class='banner-title' data-module="track-error" data-error-type="Missing recipient columns" data-error-label="{{ upload_id }}">
|
2019-09-27 12:01:32 +01:00
|
|
|
|
There’s a problem with your column names
|
2016-05-17 09:23:33 +01:00
|
|
|
|
</h1>
|
2020-04-19 22:46:13 +01:00
|
|
|
|
{% if template.template_type == 'letter' %}
|
2020-05-29 17:11:01 +01:00
|
|
|
|
<p class="govuk-body">
|
2020-04-19 22:46:13 +01:00
|
|
|
|
Your file needs at least 3 address columns, for example ‘address line 1’,
|
|
|
|
|
|
‘address line 2’ and ‘address line 3’.
|
2019-09-18 16:11:46 +01:00
|
|
|
|
</p>
|
2020-04-19 22:46:13 +01:00
|
|
|
|
{% else %}
|
2020-05-29 17:11:01 +01:00
|
|
|
|
<p class="govuk-body">
|
2020-04-19 22:46:13 +01:00
|
|
|
|
Your file needs a column called ‘{{ first_recipient_column }}’.
|
|
|
|
|
|
</p>
|
|
|
|
|
|
{% endif %}
|
2020-05-29 17:11:01 +01:00
|
|
|
|
<p class="govuk-body">
|
2019-09-18 16:11:46 +01:00
|
|
|
|
Right now it has {{ recipients.column_headers | formatted_list(
|
|
|
|
|
|
prefix='one column, called ',
|
|
|
|
|
|
prefix_plural='columns called '
|
|
|
|
|
|
) }}.
|
|
|
|
|
|
</p>
|
2016-06-03 13:52:15 +01:00
|
|
|
|
|
2018-03-02 10:45:29 +00:00
|
|
|
|
{% elif recipients.duplicate_recipient_column_headers %}
|
|
|
|
|
|
|
|
|
|
|
|
<h1 class='banner-title' data-module="track-error" data-error-type="Duplicate recipient columns" data-error-label="{{ upload_id }}">
|
2019-10-03 14:24:28 +01:00
|
|
|
|
There’s a problem with your column names
|
2018-03-02 10:45:29 +00:00
|
|
|
|
</h1>
|
2020-05-29 17:11:01 +01:00
|
|
|
|
<p class="govuk-body">
|
2019-09-18 16:11:46 +01:00
|
|
|
|
We found more than one column called {{ (
|
|
|
|
|
|
recipients.duplicate_recipient_column_headers
|
|
|
|
|
|
) | formatted_list(
|
|
|
|
|
|
conjunction='or',
|
|
|
|
|
|
prefix='',
|
|
|
|
|
|
prefix_plural=''
|
|
|
|
|
|
) }}.
|
|
|
|
|
|
</p>
|
2020-05-29 17:11:01 +01:00
|
|
|
|
<p class="govuk-body">
|
2018-03-02 10:45:29 +00:00
|
|
|
|
Delete or rename one of these columns and try again.
|
|
|
|
|
|
</p>
|
|
|
|
|
|
|
2017-07-20 09:20:01 +01:00
|
|
|
|
{% elif recipients.missing_column_headers %}
|
2016-06-03 13:52:15 +01:00
|
|
|
|
|
2017-07-20 11:28:26 +01:00
|
|
|
|
<h1 class='banner-title' data-module="track-error" data-error-type="Missing placeholder columns" data-error-label="{{ upload_id }}">
|
2019-10-03 14:24:28 +01:00
|
|
|
|
Your column names need to match the double brackets in your template
|
2016-06-03 13:52:15 +01:00
|
|
|
|
</h1>
|
2020-05-29 17:11:01 +01:00
|
|
|
|
<p class="govuk-body">
|
2019-09-18 16:11:46 +01:00
|
|
|
|
Your file is missing {{ recipients.missing_column_headers | formatted_list(
|
|
|
|
|
|
conjunction='and',
|
|
|
|
|
|
prefix='a column called ',
|
|
|
|
|
|
prefix_plural='columns called '
|
|
|
|
|
|
) }}.
|
|
|
|
|
|
</p>
|
2017-07-20 09:20:01 +01:00
|
|
|
|
|
2019-02-04 14:08:11 +00:00
|
|
|
|
{% elif sent_previously %}
|
|
|
|
|
|
|
|
|
|
|
|
{% include "partials/check/sent-previously.html" %}
|
|
|
|
|
|
|
2017-07-20 09:20:01 +01:00
|
|
|
|
{% elif not recipients.allowed_to_send_to %}
|
2017-08-08 09:35:51 +01:00
|
|
|
|
|
2017-07-20 09:20:01 +01: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 09:35:51 +01:00
|
|
|
|
|
2017-08-08 10:01:44 +01:00
|
|
|
|
{% elif trying_to_send_letters_in_trial_mode %}
|
|
|
|
|
|
|
2018-10-30 16:32:10 +00:00
|
|
|
|
<div class="bottom-gutter">
|
|
|
|
|
|
{% with
|
|
|
|
|
|
count_of_recipients=count_of_recipients
|
|
|
|
|
|
%}
|
2018-11-01 14:45:12 +00:00
|
|
|
|
{% include "partials/check/trying-to-send-letters-in-trial-mode.html" %}
|
2018-10-30 16:32:10 +00:00
|
|
|
|
{% endwith %}
|
|
|
|
|
|
</div>
|
2017-08-08 10:01:44 +01:00
|
|
|
|
|
2017-08-08 10:31:09 +01:00
|
|
|
|
{% elif recipients.more_rows_than_can_send %}
|
|
|
|
|
|
|
|
|
|
|
|
{% include "partials/check/too-many-messages.html" %}
|
|
|
|
|
|
|
2017-07-20 09:20:01 +01:00
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
|
|
|
|
{% endcall %}
|
|
|
|
|
|
</div>
|
2016-01-11 15:00:51 +00:00
|
|
|
|
|
2017-12-14 11:58:40 +00:00
|
|
|
|
|
|
|
|
|
|
<div class="js-stick-at-top-when-scrolling">
|
|
|
|
|
|
<div class="form-group">
|
2019-04-29 11:44:05 +01:00
|
|
|
|
{% if not request.args.from_test %}
|
2018-03-29 11:56:53 +01:00
|
|
|
|
{{ file_upload(
|
|
|
|
|
|
form.file,
|
|
|
|
|
|
action=url_for('.send_messages', service_id=current_service.id, template_id=template.id),
|
2019-09-27 12:03:10 +01:00
|
|
|
|
button_text='Upload your file again'
|
2018-03-29 11:56:53 +01:00
|
|
|
|
) }}
|
2017-12-14 11:58:40 +00:00
|
|
|
|
{% endif %}
|
|
|
|
|
|
</div>
|
2019-12-06 07:53:46 +00:00
|
|
|
|
<a href="#content" class="govuk-link govuk-link--no-visited-state back-to-top-link">Back to top</a>
|
2017-02-13 15:20:56 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
|
2017-05-11 10:55:44 +01:00
|
|
|
|
{% if not request.args.from_test %}
|
|
|
|
|
|
|
2018-03-02 10:45:29 +00:00
|
|
|
|
{% set column_headers = recipients._raw_column_headers if recipients.duplicate_recipient_column_headers else recipients.column_headers %}
|
|
|
|
|
|
|
2020-08-18 11:55:22 +01:00
|
|
|
|
<h2 class="heading-medium" id="file-preview">{{ original_file_name }}</h2>
|
2017-05-11 10:55:44 +01:00
|
|
|
|
|
2017-12-14 11:58:40 +00:00
|
|
|
|
<div class="fullscreen-content" data-module="fullscreen-table">
|
|
|
|
|
|
{% call(item, row_number) list_table(
|
2018-03-05 15:57:10 +00:00
|
|
|
|
recipients.displayed_rows,
|
2017-12-14 11:58:40 +00:00
|
|
|
|
caption=original_file_name,
|
|
|
|
|
|
caption_visible=False,
|
|
|
|
|
|
field_headings=[
|
2019-10-21 15:18:25 +01:00
|
|
|
|
'<span class="govuk-visually-hidden">Row in file</span><span aria-hidden="true">1</span>'|safe
|
2018-03-02 10:45:29 +00:00
|
|
|
|
] + column_headers
|
2017-12-14 11:58:40 +00:00
|
|
|
|
) %}
|
|
|
|
|
|
{% call index_field() %}
|
|
|
|
|
|
<span>
|
2018-05-21 10:06:16 +01:00
|
|
|
|
{% set displayed_index = item.index + 2 %}
|
|
|
|
|
|
{% if (
|
|
|
|
|
|
trying_to_send_letters_in_trial_mode and
|
|
|
|
|
|
(not errors or recipients.more_rows_than_can_send) and
|
|
|
|
|
|
displayed_index != preview_row
|
|
|
|
|
|
) %}
|
2019-12-06 07:53:46 +00:00
|
|
|
|
<a class="govuk-link govuk-link--no-visited-state" href="{{ url_for('.check_messages', service_id=current_service.id, template_id=template.id, upload_id=upload_id, row_index=displayed_index, original_file_name=original_file_name) }}">{{ displayed_index }}</a>
|
2018-05-21 10:06:16 +01:00
|
|
|
|
{% else %}
|
|
|
|
|
|
{{ displayed_index }}
|
|
|
|
|
|
{% endif %}
|
2017-12-14 11:58:40 +00:00
|
|
|
|
</span>
|
|
|
|
|
|
{% endcall %}
|
2018-03-02 10:45:29 +00:00
|
|
|
|
{% for column in column_headers %}
|
2018-03-05 15:57:10 +00:00
|
|
|
|
{% if item[column].error and not recipients.missing_column_headers %}
|
2017-12-14 11:58:40 +00:00
|
|
|
|
{% call field() %}
|
|
|
|
|
|
<span>
|
2018-03-05 15:57:10 +00:00
|
|
|
|
<span class="table-field-error-label">{{ item[column].error }}</span>
|
|
|
|
|
|
{{ item[column].data if item[column].data != None }}
|
2017-12-14 11:58:40 +00:00
|
|
|
|
</span>
|
|
|
|
|
|
{% endcall %}
|
2018-03-05 15:57:10 +00:00
|
|
|
|
{% elif item[column].ignore %}
|
|
|
|
|
|
{{ text_field(item[column].data or '', status='default') }}
|
2017-12-14 11:58:40 +00:00
|
|
|
|
{% else %}
|
2018-03-05 15:57:10 +00:00
|
|
|
|
{{ text_field(item[column].data or '') }}
|
2017-12-14 11:58:40 +00:00
|
|
|
|
{% endif %}
|
2017-05-11 10:55:44 +01:00
|
|
|
|
{% endfor %}
|
2018-03-05 15:57:10 +00:00
|
|
|
|
{% if item[None].data %}
|
|
|
|
|
|
{% for column in item[None].data %}
|
2017-12-14 11:58:40 +00:00
|
|
|
|
{{ text_field(column, status='default') }}
|
|
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
{% endcall %}
|
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
</div>
|
2016-10-17 10:20:14 +01:00
|
|
|
|
|
|
|
|
|
|
{% if recipients.too_many_rows %}
|
|
|
|
|
|
<p class="table-show-more-link">
|
2018-05-02 09:24:16 +01:00
|
|
|
|
Only showing the first {{ count_of_displayed_recipients }} rows
|
2016-10-17 10:20:14 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
{% elif count_of_displayed_recipients < count_of_recipients %}
|
2016-03-07 18:47:05 +00:00
|
|
|
|
<p class="table-show-more-link">
|
2016-06-03 14:38:10 +01:00
|
|
|
|
{% if row_errors and not recipients.missing_column_headers %}
|
2016-04-07 14:30:28 +01:00
|
|
|
|
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 %}
|
2016-04-07 14:30:28 +01:00
|
|
|
|
<p class="table-show-more-link">
|
|
|
|
|
|
Only showing rows with errors
|
2016-03-07 18:47:05 +00:00
|
|
|
|
</p>
|
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
2017-07-20 09:10:23 +01:00
|
|
|
|
<h2 class="heading-medium">Preview of {{ template.name }}</h2>
|
|
|
|
|
|
{{ template|string }}
|
2017-05-19 08:16:41 +01:00
|
|
|
|
|
2015-11-30 14:20:17 +00:00
|
|
|
|
{% endblock %}
|