Files
notifications-admin/app/templates/views/api/index.html
Chris Hill-Scott 48891babc4 Add log of notifications to API integration page
Now that we’ve removed simulated notifications from the dashboard and
activity pages they’re not visible anywhere in the app.

While they should’t be visible to non-technical users, developers have
a real need for Notify to confirm that their code is doing what they
expect. This is needed especially when they’re just getting started with
Notify.

There’s no way of seeing this info from the API either, because a key
can only get notifications created with a key of that type.

It doesn’t make sense to make this a ‘mode’ of the dashboard or activity
because the information about notifications that developers need is
also different. So this commit adds up to 50 of the most recent
notifications sent via the API to the page that developers use as their
‘home’ page.

This also lets us explain the 7 days thing to developers via the
empty slate state of this area of the page.
2016-09-29 09:28:04 +01:00

107 lines
3.8 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{% extends "withnav_template.html" %}
{% from "components/table.html" import list_table, field, hidden_field_heading %}
{% from "components/api-key.html" import api_key %}
{% from "components/banner.html" import banner_wrapper %}
{% block page_title %}
API integration GOV.UK Notify
{% endblock %}
{% block maincolumn_content %}
<h1 class="heading-large bottom-gutter">
API integration
</h1>
{% if current_service.restricted %}
{% call banner_wrapper(type='warning') %}
<h2 class="heading-medium">Your service is in trial mode</h2>
<p>
You can only send messages to people in your team or whitelist.
</p>
{% endcall %}
{% endif %}
<nav class="grid-row bottom-gutter-1-2">
{% if current_service.restricted %}
<div class="column-one-third">
<a class="pill-separate-item" href="{{ url_for('.api_keys', service_id=current_service.id) }}">API keys</a>
</div>
<div class="column-one-third">
<a class="pill-separate-item" href="{{ url_for('.whitelist', service_id=current_service.id) }}">Whitelist</a>
</div>
<div class="column-one-third">
<a class="pill-separate-item" href="{{ url_for('.api_documentation', service_id=current_service.id) }}">Documentation</a>
</div>
{% else %}
<div class="column-half">
<a class="pill-separate-item" href="{{ url_for('.api_keys', service_id=current_service.id) }}">API keys</a>
</div>
<div class="column-half">
<a class="pill-separate-item" href="{{ url_for('.api_documentation', service_id=current_service.id) }}">Documentation</a>
</div>
{% endif %}
</nav>
<div class="grid-row">
<div class="column-half">
<h2 class="heading-medium">
Message log
</h2>
</div>
<div class="column-half align-with-heading-copy-right">
<a href="{{ url_for('.api_integration', service_id=current_service.id) }}">Refresh</a>
</div>
</div>
<div class="api-notifications">
{% if not api_notifications.notifications %}
<div class="api-notifications-item">
<p class="api-notifications-item-meta">
When you send messages via the API theyll appear here.
</p>
<p class="api-notifications-item-meta">
Notify deletes messages after 7 days.
</p>
</div>
{% endif %}
{% for notification in api_notifications.notifications %}
<details class="api-notifications-item">
<summary class="api-notifications-item-title">
<h3 class="api-notifications-item-recipient">
{{ notification.to }}
</h3>
<div class="grid-row api-notifications-item-meta">
<div class="column-half api-notifications-item-key">
{{notification.key_name}}
</div>
<div class="column-half api-notifications-item-time">
{{ notification.created_at|format_delta }}
</div>
</div>
</summary>
<dl id="notification-{{ notification.id }}" class="api-notifications-item-data bottom-gutter-1-2">
{% for key in [
'id', 'notification_type', 'created_at', 'updated_at', 'sent_at', 'status'
] %}
<dt>{{ key }}:</dt>
<dd class="api-notifications-item-data-item">{{ notification[key] }}</dd>
{% endfor %}
</dl>
</details>
{% endfor %}
{% if api_notifications.notifications %}
<div class="api-notifications-item">
{% if api_notifications.links %}
<p class="api-notifications-item-meta">
Only showing the first 50 messages.
</p>
{% endif %}
<p class="api-notifications-item-meta">
Notify deletes messages after 7 days.
</p>
</div>
{% endif %}
</div>
{% endblock %}