Link to failure reasons from job/activity pages

If something has failed and you don’t know why, you should be able to
find out why. Let’s try adding a link to the page explaining why, so
it’s not just buried in the footer.
This commit is contained in:
Chris Hill-Scott
2016-07-11 13:53:55 +01:00
parent d22b2f678d
commit 5f67560b1e
4 changed files with 27 additions and 1 deletions

View File

@@ -12,7 +12,9 @@ from flask import (
make_response,
current_app,
request,
g)
g,
url_for
)
from flask._compat import string_types
from flask.globals import _lookup_req_object
from flask_login import LoginManager
@@ -112,6 +114,7 @@ def create_app():
application.add_template_filter(format_date_short)
application.add_template_filter(format_notification_status)
application.add_template_filter(format_notification_status_as_field_status)
application.add_template_filter(format_notification_status_as_url)
application.after_request(useful_headers_after_request)
application.after_request(save_service_after_request)
@@ -262,6 +265,15 @@ def format_notification_status_as_field_status(status):
}.get(status, 'error')
def format_notification_status_as_url(status):
url = partial(url_for, "main.delivery_and_failure")
return {
'technical-failure': url(_anchor='technical-failure'),
'temporary-failure': url(_anchor='not-accepting-messages'),
'permanent-failure': url(_anchor='does-not-exist')
}.get(status)
@login_manager.user_loader
def load_user(user_id):
return user_api_client.get_user(user_id)

View File

@@ -34,7 +34,13 @@
align='right',
status=item.status|format_notification_status_as_field_status
) %}
{% if item.status|format_notification_status_as_url %}
<a href="{{ item.status|format_notification_status_as_url }}">
{% endif %}
{{ item.status|format_notification_status(item.template.template_type) }}
{% if item.status|format_notification_status_as_url %}
</a>
{% endif %}
{% endcall %}
{% endcall %}

View File

@@ -42,6 +42,8 @@ Delivery and failure GOV.UK Notify
<p><strong>You need to remove these email addresses or phone numbers from your database.</strong></p>
<a id="not-accepting-messages"></a>
<h2 id="inbox-not-accepting-messages" class="heading-medium">Inbox not accepting messages right now</h2>
<p>This can happen for a number of reasons, eg the users inbox was full.</p>

View File

@@ -73,7 +73,13 @@
) }}
{% call field(status=item.status|format_notification_status_as_field_status, align='right') %}
{% if item.status|format_notification_status_as_url %}
<a href="{{ item.status|format_notification_status_as_url }}">
{% endif %}
{{ item.status|format_notification_status(item.template.template_type) }}
{% if item.status|format_notification_status_as_url %}
</a>
{% endif %}
{% endcall %}
{% endcall %}