mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-04-11 21:01:06 -04:00
This has several advantages: - It gives us more room to explain the error and actions. This will be useful for upcoming work we want to do, which will add yet more validations for CSV uploads. - We already use a flash to show certain kinds of errors on these pages (just above). This is more consistent. - It's potentially more accessible. Previously the error and the button text used to be read out as a single sentence. Now the page reloads and reads the flash error alone. In theory we should show an error in both places, but this can be confusing on pages where there's only a single form control, and especially if the error is long.
60 lines
2.0 KiB
HTML
60 lines
2.0 KiB
HTML
{% extends "withnav_template.html" %}
|
|
{% from "components/page-header.html" import page_header %}
|
|
{% from "components/page-footer.html" import page_footer %}
|
|
{% from "components/file-upload.html" import file_upload %}
|
|
{% from "components/table.html" import list_table, text_field, index_field, index_field_heading %}
|
|
{% from "components/back-link/macro.njk" import govukBackLink %}
|
|
|
|
{% block service_page_title %}
|
|
Upload a list of {{ 999|recipient_count_label(template.template_type) }}
|
|
{% endblock %}
|
|
|
|
|
|
{% block backLink %}
|
|
{{ govukBackLink({ "href": url_for('main.send_one_off', service_id=current_service.id, template_id=template.id) }) }}
|
|
{% endblock %}
|
|
|
|
{% block maincolumn_content %}
|
|
|
|
{{ page_header('Upload a list of {}'.format(999|recipient_count_label(template.template_type))) }}
|
|
|
|
<div class="page-footer bottom-gutter">
|
|
{{file_upload(
|
|
form.file,
|
|
allowed_file_extensions=allowed_file_extensions,
|
|
button_text='Choose a file',
|
|
show_errors=False
|
|
)}}
|
|
</div>
|
|
|
|
<h2 class="heading-medium">Your file needs to look like this example</h2>
|
|
<p class="hint">
|
|
Save your file as a
|
|
<acronym title="Comma Separated Values">CSV</acronym>,
|
|
<acronym title="Tab Separated Values">TSV</acronym>,
|
|
<acronym title="Open Document Spreadsheet">ODS</acronym>,
|
|
or Microsoft Excel spreadsheet
|
|
</p>
|
|
|
|
<div class="spreadsheet" data-module="fullscreen-table">
|
|
{% call(item, row_number) list_table(
|
|
example,
|
|
caption="Example",
|
|
caption_visible=False,
|
|
field_headings=[''] + column_headings
|
|
) %}
|
|
{{ index_field(row_number - 1) }}
|
|
{% for column in item %}
|
|
{{ text_field(column) }}
|
|
{% endfor %}
|
|
{% endcall %}
|
|
</div>
|
|
<p class="table-show-more-link">
|
|
<a class="govuk-link govuk-link--no-visited-state" href="{{ url_for('.get_example_csv', service_id=current_service.id, template_id=template.id) }}" download>Download this example</a>
|
|
</p>
|
|
|
|
<h2 class="heading-medium">Your file will populate this template ({{ template.name }})</h2>
|
|
{{ template|string }}
|
|
|
|
{% endblock %}
|