Files
notifications-admin/app/templates/views/check/row-errors.html

131 lines
4.7 KiB
HTML
Raw Normal View History

{% extends "withnav_template.html" %}
{% from "components/banner.html" import banner_wrapper %}
{% from "components/radios.html" import radio_select %}
{% from "components/table.html" import mapping_table, row, field, text_field, index_field, hidden_field_heading %}
{% 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 %}
{% block service_page_title %}
Error
{% endblock %}
{% block backLink %}
2023-08-30 11:07:38 -04:00
{{ usaBackLink({ "href": back_link }) }}
{% endblock %}
{% block maincolumn_content %}
<div class="">
{% call banner_wrapper(type='dangerous') %}
{% if row_errors|length == 1 %}
<div class="usa-alert usa-alert--error" role="alert">
<div class="usa-alert__body">
<h1 class="usa-alert__heading">Theres a problem with {{ original_file_name }}</h1>
<p class="usa-alert__text">
You need to {{ row_errors[0] }}.
</p>
</div>
</div>
{% else %}
<div class="usa-alert usa-alert--error" role="alert">
<div class="usa-alert__body">
<h1 class="usa-alert__heading">Theres a problem with {{ original_file_name }}</h1>
<p class="usa-alert__text">
You need to:
<ul class="list-bullet">
{% for error in row_errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
</p>
</div>
</div>
{% endif %}
{% endcall %}
</div>
<div class="js-stick-at-top-when-scrolling">
<div class="form-group">
{{ 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'
) }}
</div>
</div>
<div class="fullscreen-content" data-module="fullscreen-table">
{% call(item, row_number) mapping_table(
caption="Errors in " + original_file_name,
caption_visible=False,
field_headings=[
2023-06-16 14:55:24 -04:00
'<span class="usa-sr-only">Row in file</span><span aria-hidden="true" class="table-field-invisible-error">1</span>'|safe
] + recipients.column_headers
) %}
{% for item in recipients.displayed_rows %}
{% if item.has_error_spanning_multiple_cells %}
{% call row() %}
{% call index_field(rowspan=2) %}
<span class="table-field-error">
{{ item.index + 2 }}
</span>
{% endcall %}
{% call field(colspan=recipients.column_headers|length) %}
<span class="table-field-error-label">
{% if item.message_empty %}
No content for this message
{% elif item.message_too_long %}
Message is too long
{% endif %}
</span>
{% endcall %}
{% endcall %}
{% endif %}
{% call row(item.id) %}
{% if not item.has_error_spanning_multiple_cells %}
{% call index_field() %}
<span class="{% if item.has_errors %}table-field-error{% endif %}">
{{ item.index + 2 }}
</span>
{% endcall %}
{% endif %}
{% for column in recipients.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 %}
{% endfor %}
{% endcall %}
</div>
{% if 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>
{% elif row_errors and not recipients.missing_column_headers %}
<p class="table-show-more-link">
Only showing rows with errors
</p>
{% endif %}
{% endblock %}