Show if a letter has been cancelled

At the moment we are manually cancelling letters for people when they
ask us to. Once’s we’ve done this there is no indication that it’s
happened except for the date going red on the list of letters.

This commit adds some error messaging and styling to show when a letter
is cancelled.

Letting people cancel their own letters will be a future enhancement.
This commit is contained in:
Chris Hill-Scott
2018-10-11 10:54:39 +01:00
parent 78cb3d1165
commit c01d761a3c
8 changed files with 84 additions and 26 deletions

View File

@@ -431,7 +431,9 @@ def format_notification_status_as_field_status(status, notification_type):
).get(status, 'error')
def format_notification_status_as_url(status):
def format_notification_status_as_url(status, notification_type):
if notification_type == 'letter':
return None
url = partial(url_for, "main.using_notify")
return {
'technical-failure': url(_anchor='technical-failure'),

View File

@@ -15,4 +15,9 @@
}
&-cancelled {
@include bold-19;
color: $error-colour;
}
}

View File

@@ -76,6 +76,7 @@ def view_notification(service_id, notification_id):
return render_template(
'views/notifications/notification.html',
finished=(notification['status'] in (DELIVERED_STATUSES + FAILURE_STATUSES)),
notification_status=notification['status'],
uploaded_file_name='Report',
template=template,
job=job,
@@ -89,6 +90,7 @@ def view_notification(service_id, notification_id):
partials=get_single_notification_partials(notification),
created_by=notification.get('created_by'),
created_at=notification['created_at'],
updated_at=notification['updated_at'],
help=get_help_argument(),
estimated_letter_delivery_date=get_letter_timings(
notification['created_at'],

View File

@@ -154,7 +154,7 @@
align='right'
) %}
{% if displayed_on_single_line %}<span class="align-with-message-body">{% endif %}
{% if notification.status|format_notification_status_as_url %}
{% if notification.status|format_notification_status_as_url(notification.notification_type) %}
<a href="{{ notification.status|format_notification_status_as_url }}">
{% endif %}
{% if notification['notification_type'] != "letter" or notification.status == 'virus-scan-failed' %}
@@ -162,12 +162,19 @@
notification.template.template_type
) }}
{% endif %}
{% if notification.status|format_notification_status_as_url %}
{% if notification.notification_type == "letter" and notification.status == 'permanent-failure' %}
Cancelled
{% endif %}
{% if notification.status|format_notification_status_as_url(notification.notification_type) %}
</a>
{% endif %}
<span class="status-hint">
{% if notification['notification_type'] == "letter" %}
{{ notification.created_at|format_datetime_short }}
{% if notification.status == 'permanent-failure' %}
{{ (notification.updated_at)|format_datetime_short }}
{% else %}
{{ (notification.created_at)|format_datetime_short }}
{% endif %}
{% else %}
{{ notification.status|format_notification_status_as_time(
notification.created_at|format_datetime_short,

View File

@@ -1,12 +1,12 @@
<div class="ajax-block-container">
<p class="notification-status {{ notification.status|format_notification_status_as_field_status(notification.notification_type) }}">
{% if notification.status|format_notification_status_as_url %}
<a href="{{ notification.status|format_notification_status_as_url }}">
{% if notification.status|format_notification_status_as_url(notification.notification_type) %}
<a href="{{ notification.status|format_notification_status_as_url(notification.notification_type) }}">
{% endif %}
{{ notification.status|format_notification_status(
notification.template.template_type
) }}
{% if notification.status|format_notification_status_as_url %}
{% if notification.status|format_notification_status_as_url(notification.notification_type) %}
</a>
{% endif %}
{% if sent_with_test_key %}

View File

@@ -35,15 +35,21 @@
</p>
{% if template.template_type == 'letter' %}
<p>
Postage: {{ postage }} class
</p>
<p>
Estimated delivery date: {{ estimated_letter_delivery_date|string|format_date_short }}
</p>
<p class="bottom-gutter">
<a href="{{ url_for('main.view_letter_notification_as_preview', service_id=current_service.id, notification_id=notification_id, filetype='pdf') }}" download>Download as a PDF</a>
</p>
{% if notification_status == 'permanent-failure' %}
<p class="notification-status-cancelled">
Cancelled {{ updated_at|format_datetime_short }}
</p>
{% else %}
<p>
Postage: {{ postage }} class
</p>
<p>
Estimated delivery date: {{ estimated_letter_delivery_date|string|format_date_short }}
</p>
<p class="bottom-gutter">
<a href="{{ url_for('main.view_letter_notification_as_preview', service_id=current_service.id, notification_id=notification_id, filetype='pdf') }}" download>Download as a PDF</a>
</p>
{% endif %}
{% endif %}
{{ template|string }}