mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-06-29 11:53:41 -04:00
This commit makes two main changes to what happens when a user is in trial mode and they upload some email addresses belonging to other people. 1. Add a specific banner error telling the user about trial mode 2. Make this error higher priority, eg it will show up before the error about having too many recipients in your file This means making some changes to the tests so that the example CSV files include the user’s phone number, then making them invalid by omitting data required by the templates. Depends on: https://github.com/alphagov/notifications-utils/pull/34
176 lines
6.4 KiB
HTML
176 lines
6.4 KiB
HTML
{% extends "withnav_template.html" %}
|
||
{% from "components/banner.html" import banner_wrapper %}
|
||
{% from "components/email-message.html" import email_message %}
|
||
{% from "components/sms-message.html" import sms_message %}
|
||
{% from "components/table.html" import list_table, field, text_field, index_field, hidden_field_heading %}
|
||
{% from "components/placeholder.html" import placeholder %}
|
||
{% from "components/file-upload.html" import file_upload %}
|
||
{% from "components/page-footer.html" import page_footer %}
|
||
|
||
{% block page_title %}
|
||
{{ page_heading if errors else "Check and confirm" }} – GOV.UK Notify
|
||
{% endblock %}
|
||
|
||
{% block maincolumn_content %}
|
||
|
||
{% if not recipients.allowed_to_send_to and not recipients.missing_column_headers %}
|
||
<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>
|
||
{% elif errors %}
|
||
<div class="bottom-gutter">
|
||
{% call banner_wrapper(type='dangerous') %}
|
||
{% if errors|length == 1 %}
|
||
<h1 class='banner-title'>
|
||
There was a problem with {{ original_file_name }}
|
||
</h1>
|
||
<p>
|
||
You need to {{ errors[0] }}
|
||
</p>
|
||
{% else %}
|
||
<h1 class='banner-title'>
|
||
There were some problems with {{ original_file_name }}
|
||
</h1>
|
||
<p>
|
||
You need to:
|
||
</p>
|
||
<ul class="list-bullet">
|
||
{% for error in errors %}
|
||
<li>{{ error }}</li>
|
||
{% endfor %}
|
||
</ul>
|
||
{% endif %}
|
||
{% endcall %}
|
||
</div>
|
||
{% elif count_of_recipients > (current_service.message_limit - statistics.get('emails_requested', 0) - statistics.get('sms_requested', 0)) %}
|
||
<div class="bottom-gutter">
|
||
{% call banner_wrapper(type='dangerous') %}
|
||
<h1 class='banner-title'>
|
||
Too many recipients
|
||
</h1>
|
||
{% if statistics.emails_requested or statistics.sms_requested %}
|
||
<p>
|
||
You can only send {{ current_service.message_limit }}
|
||
messages per day
|
||
{%- if current_service.restricted %}
|
||
in <a href="{{ url_for('.trial_mode')}}">trial mode</a>
|
||
{%- endif -%}
|
||
.
|
||
</p>
|
||
{% endif %}
|
||
<p>
|
||
You can still send
|
||
{{ current_service.message_limit - statistics.emails_requested - statistics.sms_requested }}
|
||
messages today, but
|
||
‘{{ original_file_name }}’ contains
|
||
{{ count_of_recipients }} {{ recipients.recipient_column_header }}
|
||
{%- if count_of_recipients != 1 -%}
|
||
{{ 'es' if 'email address' == recipients.recipient_column_header else 's' }}
|
||
{%- endif -%}.
|
||
</p>
|
||
{% endcall %}
|
||
</div>
|
||
{% else %}
|
||
<h1 class="heading-large">
|
||
Check and confirm
|
||
</h1>
|
||
{% endif %}
|
||
|
||
{% if 'email' == template.template_type %}
|
||
{{ email_message(
|
||
template.formatted_subject_as_markup if errors else template.replaced_subject,
|
||
template.formatted_as_markup if errors else template.replaced,
|
||
from_address='{}@notifications.service.gov.uk'.format(current_service.email_from),
|
||
from_name=current_service.name,
|
||
recipient=first_recipient,
|
||
show_placeholder_for_recipient=errors
|
||
)}}
|
||
{% elif 'sms' == template.template_type %}
|
||
<div class="grid-row">
|
||
<div class="column-two-thirds">
|
||
{{ sms_message(
|
||
template.formatted_as_markup if errors else template.replaced,
|
||
recipient=first_recipient,
|
||
show_placeholder_for_recipient=errors
|
||
)}}
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
|
||
{% if (
|
||
errors or
|
||
count_of_recipients > (current_service.message_limit - statistics.get('emails_requested', 0) - statistics.get('sms_requested', 0))
|
||
) %}
|
||
{% 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 %}
|
||
{% else %}
|
||
<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'>
|
||
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
|
||
<input type="submit" class="button" value="{{ send_button_text }}" />
|
||
<a href="{{ back_link }}" class="page-footer-back-link">Back</a>
|
||
</form>
|
||
{% endif %}
|
||
|
||
{% call(item, row_number) list_table(
|
||
recipients.initial_annotated_rows_with_errors if rows_have_errors else recipients.initial_annotated_rows,
|
||
caption=original_file_name,
|
||
field_headings=['1'] + recipients.column_headers
|
||
) %}
|
||
{{ index_field(item.index + 2) }}
|
||
{% for column in recipients.column_headers %}
|
||
{% if item['columns'][column].error %}
|
||
{% call field() %}
|
||
<span class="table-field-error">
|
||
<span class="table-field-error-label">{{ item['columns'][column].error }}</span>
|
||
{{ item['columns'][column].data if item['columns'][column].data != None }}
|
||
</span>
|
||
{% endcall %}
|
||
{% elif item['columns'][column].ignore %}
|
||
{% call field(status='default') %}
|
||
{{ item['columns'][column].data if item['columns'][column].data != None }}
|
||
{% endcall %}
|
||
{% else %}
|
||
{{ text_field(item['columns'][column].data) }}
|
||
{% endif %}
|
||
{% endfor %}
|
||
{% if item['columns'].get(None) %}
|
||
{% for column in item['columns'][None].data %}
|
||
{% call field(status='default') %}
|
||
{{ column }}
|
||
{% endcall %}
|
||
{% endfor %}
|
||
{% endif %}
|
||
{% endcall %}
|
||
|
||
{% if count_of_displayed_recipients < count_of_recipients %}
|
||
<p class="table-show-more-link">
|
||
{% if rows_have_errors %}
|
||
Only showing the first {{ count_of_displayed_recipients }} rows with errors
|
||
{% else %}
|
||
Only showing the first {{ count_of_displayed_recipients }} rows
|
||
{% endif %}
|
||
</p>
|
||
{% elif rows_have_errors %}
|
||
<p class="table-show-more-link">
|
||
Only showing rows with errors
|
||
</p>
|
||
{% endif %}
|
||
|
||
{% endblock %}
|