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 %}
|
2016-01-07 20:11:22 +00:00
|
|
|
|
{% from "components/page-footer.html" import page_footer %}
|
2016-06-03 14:30:17 +01:00
|
|
|
|
{% from "components/list.html" import formatted_list %}
|
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
|
|
|
|
|
2015-11-30 14:20:17 +00:00
|
|
|
|
{% block page_title %}
|
2016-07-01 07:39:39 +01:00
|
|
|
|
{{ "Error" if errors else "Preview" }} – GOV.UK Notify
|
2015-11-30 14:20:17 +00:00
|
|
|
|
{% endblock %}
|
|
|
|
|
|
|
2015-12-14 16:53:07 +00:00
|
|
|
|
{% block maincolumn_content %}
|
|
|
|
|
|
|
2016-10-17 10:20:14 +01:00
|
|
|
|
{% if recipients.too_many_rows %}
|
2016-10-14 10:44:28 +01:00
|
|
|
|
|
|
|
|
|
|
<div class="bottom-gutter">
|
|
|
|
|
|
{% call banner_wrapper(type='dangerous') %}
|
|
|
|
|
|
<h1 class='banner-title'>
|
|
|
|
|
|
Your file has too many rows
|
|
|
|
|
|
</h1>
|
|
|
|
|
|
<p>
|
|
|
|
|
|
Notify can process up to
|
|
|
|
|
|
{{ "{:,}".format(recipients.max_rows) }} rows at once. Your
|
|
|
|
|
|
file has {{ "{:,}".format(recipients|length) }} rows.
|
|
|
|
|
|
</p>
|
|
|
|
|
|
{% endcall %}
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
2016-11-10 13:39:05 +00:00
|
|
|
|
{% elif not recipients.has_recipient_columns %}
|
2016-06-03 13:52:15 +01:00
|
|
|
|
|
2016-04-22 09:36:42 +01:00
|
|
|
|
<div class="bottom-gutter">
|
|
|
|
|
|
{% call banner_wrapper(type='dangerous') %}
|
|
|
|
|
|
<h1 class='banner-title'>
|
2016-06-03 13:52:15 +01:00
|
|
|
|
Your file needs to have a column called ‘{{ recipients.recipient_column_header }}’
|
2016-05-17 09:23:33 +01:00
|
|
|
|
</h1>
|
|
|
|
|
|
<p>
|
2016-06-03 13:52:15 +01:00
|
|
|
|
Your file has {{ formatted_list(
|
|
|
|
|
|
recipients.column_headers,
|
|
|
|
|
|
prefix='one column, called',
|
|
|
|
|
|
prefix_plural='columns called'
|
|
|
|
|
|
) }}.
|
2016-04-22 09:36:42 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
{% endcall %}
|
|
|
|
|
|
</div>
|
2016-06-03 13:52:15 +01:00
|
|
|
|
|
|
|
|
|
|
{% elif recipients.missing_column_headers %}
|
|
|
|
|
|
|
|
|
|
|
|
<div class="bottom-gutter">
|
|
|
|
|
|
{% call banner_wrapper(type='dangerous') %}
|
|
|
|
|
|
<h1 class='banner-title'>
|
|
|
|
|
|
The columns in your file need to match the double brackets in
|
|
|
|
|
|
your template
|
|
|
|
|
|
</h1>
|
|
|
|
|
|
<p>
|
2016-06-03 14:30:17 +01:00
|
|
|
|
Your file has {{ formatted_list(
|
|
|
|
|
|
recipients.column_headers,
|
|
|
|
|
|
prefix='one column, called',
|
|
|
|
|
|
prefix_plural='columns called'
|
|
|
|
|
|
) }}.
|
2016-06-03 13:52:15 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
<p>
|
2016-06-03 14:30:17 +01:00
|
|
|
|
It doesn’t have {{ formatted_list(
|
|
|
|
|
|
recipients.missing_column_headers,
|
|
|
|
|
|
conjunction='or',
|
|
|
|
|
|
prefix='a column called',
|
|
|
|
|
|
prefix_plural='columns called'
|
|
|
|
|
|
) }}.
|
2016-06-03 13:52:15 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
{% endcall %}
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
{% elif row_errors %}
|
|
|
|
|
|
|
2016-03-07 18:47:05 +00:00
|
|
|
|
<div class="bottom-gutter">
|
|
|
|
|
|
{% call banner_wrapper(type='dangerous') %}
|
2016-06-03 13:52:15 +01:00
|
|
|
|
{% if row_errors|length == 1 %}
|
2016-03-07 18:47:05 +00:00
|
|
|
|
<h1 class='banner-title'>
|
2016-06-03 13:52:15 +01:00
|
|
|
|
There is a problem with your data
|
2016-03-07 18:47:05 +00:00
|
|
|
|
</h1>
|
|
|
|
|
|
<p>
|
2016-06-03 13:52:15 +01:00
|
|
|
|
You need to {{ row_errors[0] }}
|
2016-03-07 18:47:05 +00:00
|
|
|
|
</p>
|
|
|
|
|
|
{% else %}
|
|
|
|
|
|
<h1 class='banner-title'>
|
2016-06-03 13:52:15 +01:00
|
|
|
|
There are some problems with your data
|
2016-03-07 18:47:05 +00:00
|
|
|
|
</h1>
|
|
|
|
|
|
<p>
|
|
|
|
|
|
You need to:
|
|
|
|
|
|
</p>
|
|
|
|
|
|
<ul class="list-bullet">
|
2016-06-03 13:52:15 +01:00
|
|
|
|
{% for error in row_errors %}
|
2016-03-07 18:47:05 +00:00
|
|
|
|
<li>{{ error }}</li>
|
|
|
|
|
|
{% endfor %}
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
{% endcall %}
|
|
|
|
|
|
</div>
|
2016-06-03 13:52:15 +01:00
|
|
|
|
|
|
|
|
|
|
{% elif not recipients.allowed_to_send_to %}
|
|
|
|
|
|
|
|
|
|
|
|
<div class="bottom-gutter">
|
|
|
|
|
|
{% call banner_wrapper(type='dangerous') %}
|
|
|
|
|
|
<h1 class='banner-title'>
|
|
|
|
|
|
You can’t send to
|
|
|
|
|
|
{{ 'this' if count_of_recipients == 1 else 'these' }}
|
|
|
|
|
|
{{ recipients.recipient_column_header }}
|
|
|
|
|
|
{%- if count_of_recipients != 1 -%}
|
|
|
|
|
|
{{ 'es' if 'email address' == recipients.recipient_column_header else 's' }}
|
|
|
|
|
|
{%- endif %}
|
|
|
|
|
|
</h1>
|
|
|
|
|
|
<p>
|
|
|
|
|
|
In <a href="{{ url_for('.trial_mode') }}">trial mode</a> you can only
|
|
|
|
|
|
send to yourself and members of your team
|
|
|
|
|
|
</p>
|
|
|
|
|
|
{% endcall %}
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
2016-07-25 14:16:34 +01:00
|
|
|
|
{% elif recipients.more_rows_than_can_send %}
|
2016-07-25 14:29:01 +01:00
|
|
|
|
{% include "partials/check/too-many-messages.html" %}
|
2016-03-07 18:47:05 +00:00
|
|
|
|
{% else %}
|
2016-06-03 13:52:15 +01:00
|
|
|
|
|
2016-03-07 18:47:05 +00:00
|
|
|
|
<h1 class="heading-large">
|
2016-07-01 07:39:39 +01:00
|
|
|
|
Preview
|
2016-03-07 18:47:05 +00:00
|
|
|
|
</h1>
|
2016-06-03 13:52:15 +01:00
|
|
|
|
|
2016-02-17 15:49:07 +00:00
|
|
|
|
{% endif %}
|
2015-11-30 14:20:17 +00:00
|
|
|
|
|
2016-12-05 11:51:19 +00:00
|
|
|
|
{{ template.rendered }}
|
2016-01-11 15:00:51 +00:00
|
|
|
|
|
2016-07-25 14:16:34 +01:00
|
|
|
|
{% if errors %}
|
2016-05-05 08:39:36 +01:00
|
|
|
|
{% if request.args.from_test %}
|
|
|
|
|
|
<a href="{{ back_link }}" class="page-footer-back-link">Back</a>
|
|
|
|
|
|
{% else %}
|
|
|
|
|
|
{{file_upload(form.file, button_text='Re-upload your file')}}
|
|
|
|
|
|
{% endif %}
|
2016-03-07 18:47:05 +00:00
|
|
|
|
{% else %}
|
2016-05-05 08:39:36 +01:00
|
|
|
|
<form method="post" enctype="multipart/form-data" action="{{url_for('main.start_job', service_id=current_service.id, upload_id=upload_id)}}" class='page-footer'>
|
2016-02-17 15:49:07 +00:00
|
|
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
|
2016-07-05 11:39:07 +01:00
|
|
|
|
<input type="hidden" name="help" value="{{ '3' if help else 0 }}" />
|
2016-08-30 09:27:24 +01:00
|
|
|
|
{% if choose_time_form %}
|
|
|
|
|
|
{{ radio_select(
|
|
|
|
|
|
choose_time_form.scheduled_for,
|
|
|
|
|
|
wrapping_class='bottom-gutter-2-3'
|
|
|
|
|
|
) }}
|
|
|
|
|
|
{% endif %}
|
2016-06-03 14:48:21 +01:00
|
|
|
|
<input type="submit" class="button" value="Send {{ count_of_recipients }} {{ message_count_label(count_of_recipients, template.template_type, suffix='') }}" />
|
2016-05-05 08:39:36 +01:00
|
|
|
|
<a href="{{ back_link }}" class="page-footer-back-link">Back</a>
|
2016-02-17 15:49:07 +00:00
|
|
|
|
</form>
|
|
|
|
|
|
{% endif %}
|
2015-12-20 00:00:01 +00:00
|
|
|
|
|
2016-04-05 11:16:29 +01:00
|
|
|
|
{% call(item, row_number) list_table(
|
2016-06-03 14:38:10 +01:00
|
|
|
|
recipients.initial_annotated_rows_with_errors if row_errors and not recipients.missing_column_headers else recipients.initial_annotated_rows,
|
2016-02-17 15:49:07 +00:00
|
|
|
|
caption=original_file_name,
|
2016-10-17 10:20:14 +01:00
|
|
|
|
field_headings=['1'] + recipients.column_headers
|
2016-02-17 15:49:07 +00:00
|
|
|
|
) %}
|
2016-04-05 11:16:29 +01:00
|
|
|
|
{{ index_field(item.index + 2) }}
|
2016-03-07 18:47:05 +00:00
|
|
|
|
{% for column in recipients.column_headers %}
|
2016-06-03 14:38:10 +01:00
|
|
|
|
{% if item['columns'][column].error and not recipients.missing_column_headers %}
|
2016-02-17 15:49:07 +00:00
|
|
|
|
{% call field() %}
|
2016-03-07 18:47:05 +00:00
|
|
|
|
<span class="table-field-error">
|
2016-04-28 14:02:51 +01:00
|
|
|
|
<span class="table-field-error-label">{{ item['columns'][column].error }}</span>
|
|
|
|
|
|
{{ item['columns'][column].data if item['columns'][column].data != None }}
|
2016-03-07 18:47:05 +00:00
|
|
|
|
</span>
|
2016-02-17 15:49:07 +00:00
|
|
|
|
{% endcall %}
|
2016-04-28 14:02:51 +01:00
|
|
|
|
{% elif item['columns'][column].ignore %}
|
2016-03-07 18:47:05 +00:00
|
|
|
|
{% call field(status='default') %}
|
2016-04-28 14:02:51 +01:00
|
|
|
|
{{ item['columns'][column].data if item['columns'][column].data != None }}
|
2016-02-17 15:49:07 +00:00
|
|
|
|
{% endcall %}
|
2016-03-07 18:47:05 +00:00
|
|
|
|
{% else %}
|
2016-11-10 13:39:05 +00:00
|
|
|
|
{% call field() %}
|
|
|
|
|
|
{{ item['columns'][column].data if item['columns'][column].data != None }}
|
|
|
|
|
|
{% endcall %}
|
2016-02-17 15:49:07 +00:00
|
|
|
|
{% endif %}
|
|
|
|
|
|
{% endfor %}
|
2016-05-16 15:31:35 +01:00
|
|
|
|
{% if item['columns'].get(None) %}
|
|
|
|
|
|
{% for column in item['columns'][None].data %}
|
|
|
|
|
|
{% call field(status='default') %}
|
|
|
|
|
|
{{ column }}
|
|
|
|
|
|
{% endcall %}
|
|
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif %}
|
2016-02-17 15:49:07 +00:00
|
|
|
|
{% endcall %}
|
2015-12-11 17:25:04 +00:00
|
|
|
|
|
2016-10-17 10:20:14 +01:00
|
|
|
|
|
|
|
|
|
|
{% if recipients.too_many_rows %}
|
|
|
|
|
|
<p class="table-show-more-link">
|
|
|
|
|
|
Can’t show the contents of this file
|
|
|
|
|
|
</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 %}
|
|
|
|
|
|
|
2015-11-30 14:20:17 +00:00
|
|
|
|
{% endblock %}
|