mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-16 03:10:16 -04:00
This page currently includes all notifications for all services, including those sent using a test key. Stats on all other pages exclude test key usage, though, which can lead to confusion for admins comparing numbers between pages. Adding the option to toggle between including and excluding test key usage on the platform admin page gives context for this difference, and allows admins to see live usage of the platform as well as load associated with test key usage.
140 lines
4.2 KiB
HTML
140 lines
4.2 KiB
HTML
{% extends "withoutnav_template.html" %}
|
||
{% from "components/big-number.html" import big_number, big_number_with_status %}
|
||
{% from "components/message-count-label.html" import message_count_label %}
|
||
{% from "components/browse-list.html" import browse_list %}
|
||
{% from "components/table.html" import mapping_table, field, stats_fields, row_group, row, right_aligned_field_heading, hidden_field_heading, text_field %}
|
||
|
||
{% macro stats_fields(channel, data) -%}
|
||
|
||
{% call field(border=False) %}
|
||
<span class="heading-medium">{{ channel.title() }}</span>
|
||
{% endcall %}
|
||
|
||
{% call field(align='right', border=False) %}
|
||
{{ big_number(data[channel]['sending'], smaller=True) }}
|
||
{% endcall %}
|
||
|
||
{% call field(align='right', border=False) %}
|
||
{{ big_number(data[channel]['delivered'], smaller=True) }}
|
||
{% endcall %}
|
||
|
||
{% call field(align='right', status='error' if data[channel]['failed'], border=False) %}
|
||
{{ big_number(data[channel]['failed'], smaller=True) }}
|
||
{% endcall %}
|
||
|
||
{%- endmacro %}
|
||
|
||
{% macro services_table(services, caption) %}
|
||
{% call(item, row_number) mapping_table(
|
||
caption=caption,
|
||
caption_visible=True,
|
||
field_headings=[
|
||
'Service',
|
||
hidden_field_heading('Type'),
|
||
right_aligned_field_heading('Sending'),
|
||
right_aligned_field_heading('Delivered'),
|
||
right_aligned_field_heading('Failed')
|
||
],
|
||
field_headings_visible=True
|
||
) %}
|
||
|
||
{% for service in services %}
|
||
|
||
{% call row_group() %}
|
||
|
||
{% call row() %}
|
||
{% call field(border=False) %}
|
||
<a href="{{ url_for('main.service_dashboard', service_id=service['id']) }}" class="browse-list-link">{{ service['name'] }}</a>
|
||
{% endcall %}
|
||
|
||
{{ stats_fields('email', service['stats']) }}
|
||
{% endcall %}
|
||
|
||
{% call row() %}
|
||
{% if not service['active'] %}
|
||
{% call field(status='default') %}
|
||
<span class="heading-medium">archived</span>
|
||
{% endcall %}
|
||
{% elif service['research_mode'] %}
|
||
{% call field(border=False) %}
|
||
<span class="research-mode">research mode</span>
|
||
{% endcall %}
|
||
{% elif not service['restricted'] %}
|
||
{% call field(status='error') %}
|
||
<span class="heading-medium">Live</span>
|
||
{% endcall %}
|
||
{% else %}
|
||
{{ text_field('') }}
|
||
{% endif %}
|
||
|
||
{{ stats_fields('sms', service['stats']) }}
|
||
{% endcall %}
|
||
|
||
{% endcall %}
|
||
|
||
{% endfor %}
|
||
|
||
{% endcall %}
|
||
{% endmacro %}
|
||
|
||
|
||
{% block page_title %}
|
||
Platform admin – GOV.UK Notify
|
||
{% endblock %}
|
||
|
||
{% block maincolumn_content %}
|
||
|
||
<h1 class="heading-large">
|
||
Platform admin
|
||
</h1>
|
||
|
||
{{ browse_list([
|
||
{
|
||
'title': 'View providers',
|
||
'link': url_for('.view_providers')
|
||
},
|
||
]) }}
|
||
|
||
<div class="grid-row">
|
||
<div class="column-one-third">
|
||
<nav class="navigation">
|
||
<ul>
|
||
{% if include_from_test_key %}
|
||
<li>Including test key (<a href="{{ url_for('.platform_admin', include_from_test_key=False) }}">change</a>)</li>
|
||
{% else %}
|
||
<li>Excluding test key (<a href="{{ url_for('.platform_admin') }}">change</a>)</li>
|
||
{% endif %}
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
<main role="main" class="column-two-thirds column-main">
|
||
<h2 class='heading-medium'>Today</h2>
|
||
<div class="grid-row bottom-gutter">
|
||
<div class="column-half">
|
||
{{ big_number_with_status(
|
||
global_stats.email.delivered,
|
||
message_count_label(global_stats.email.delivered, 'email'),
|
||
global_stats.email.failed,
|
||
global_stats.email.failure_rate,
|
||
global_stats.email.failure_rate|float > 3,
|
||
) }}
|
||
</div>
|
||
<div class="column-half">
|
||
{{ big_number_with_status(
|
||
global_stats.sms.delivered,
|
||
message_count_label(global_stats.sms.delivered, 'sms'),
|
||
global_stats.sms.failed,
|
||
global_stats.sms.failure_rate,
|
||
global_stats.sms.failure_rate|float > 3,
|
||
) }}
|
||
</div>
|
||
</div>
|
||
|
||
{{ services_table(live_services, 'Live services') }}
|
||
|
||
{{ services_table(trial_mode_services, 'Trial mode services') }}
|
||
</main>
|
||
</div>
|
||
|
||
{% endblock %}
|