notify-536: accurately reflect delivery receipts in UI (#551)

This commit is contained in:
Kenneth Kehl
2023-06-27 08:20:58 -07:00
committed by GitHub
parent 87bd216609
commit d2d7a75a5f
11 changed files with 43 additions and 19 deletions

View File

@@ -275,7 +275,7 @@ def get_status_filters(service, message_type, statistics):
filters = [
# key, label, option
('requested', 'total', 'sending,delivered,failed'),
('sending', 'sending', 'sending'),
('sending', 'pending', 'pending'),
('delivered', 'delivered', 'delivered'),
('failed', 'failed', 'failed'),
]
@@ -320,10 +320,10 @@ def _get_job_counts(job):
],
[
Markup(
f'''sending<span class="usa-sr-only">
f'''pending<span class="usa-sr-only">
{message_count_noun(job.notifications_sending, job_type)}</span>'''
),
'sending',
'pending',
job.notifications_sending
],
[

View File

@@ -5,9 +5,12 @@
{% if notifications_deleted %}
<div class="govuk-grid-row bottom-gutter-1-2">
{% for label, query_param, url, count in counts %}
<div class="govuk-grid-column-one-quarter">
{{ big_number(count, label, smaller=True) }}
</div>
{% if query_param == 'pending' %}
<div class="govuk-grid-column-one-quarter">{{ big_number(count, query_param, smaller=True) }}</div>
{% else %}
<div class="govuk-grid-column-one-quarter">{{ big_number(count, label, smaller=True) }}</div>
{% endif %}
{% endfor %}
</div>
{% else %}

View File

@@ -1,3 +1,4 @@
<div class="ajax-block-container">
{% set field_status = notification.status|format_notification_status_as_field_status(notification.notification_type) %}
{% set status_url = notification.status|format_notification_status_as_url(notification.notification_type) %}
@@ -5,9 +6,18 @@
{% if status_url %}
<a class="govuk-link govuk-link--destructive" href="{{ status_url }}">
{% endif %}
{% if notification.status != 'sending' %}
{{ notification.status|format_notification_status(
notification.template.template_type
) }}
{% endif %}
{% if notification.status == 'sending' %}
<p class="notification-status {{ field_status }}">
Pending. Messages will remain in pending state until carrier status is received, typically 5 minutes.
</p>
{% endif %}
{% if status_url %}
</a>
{% endif %}
@@ -15,4 +25,5 @@
(test)
{% endif %}
</p>
</div>

View File

@@ -1,5 +1,4 @@
{% from "components/pill.html" import pill %}
<div class='bottom-gutter ajax-block-container'>
{{ pill(
status_filters,

View File

@@ -50,7 +50,7 @@
{{ big_number(
item.notifications_sending,
smallest=True,
label='sending',
label='pending',
) }}
</div>
<div class="govuk-grid-column-one-third">

View File

@@ -17,6 +17,6 @@
{{ ajax_block(partials, updates_url, 'counts', finished=job.processing_finished) }}
{{ ajax_block(partials, updates_url, 'notifications', finished=job.processing_finished) }}
<div>&nbsp;</div>
<div> </div>
{% endblock %}

View File

@@ -25,6 +25,11 @@
'counts'
) }}
<p class="notification-status {{ field_status }}">
Messages will remain in pending state until carrier status is received, typically 5 minutes.
</p>
{% call form_wrapper(
action=url_for('.view_notifications', service_id=current_service.id, message_type=message_type),
class="usa-search margin-bottom-2"
@@ -50,6 +55,10 @@
{% endcall %}
{% call form_wrapper(id="search-form") %}
<input type="hidden" name="to" {% if search_form.to.data %}value="{{ search_form.to.data }}{% endif %}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">