Files
notifications-admin/app/templates/views/platform-admin.html
Jenny Duckett c88a961e04 Add option to exclude test key stats on platform admin page
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.
2016-12-06 12:42:27 +00:00

140 lines
4.2 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 "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 %}