mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-15 07:54:32 -05:00
This will stop us repeatedly forgetting to add `novalidate` and `autocomplete='off'` to our forms (which is how most of them are set up). It uses sensible defaults, based on how we most-commonly configure forms: - most of our forms are `post`ed (but this can be overridden) - `autocomplete` should only be enabled where it makes sense, otherwise it’s more annoying than useful (but this can be overriden) - we should never be using HTML5 form validation because our own error styles and messages are better
120 lines
3.6 KiB
HTML
120 lines
3.6 KiB
HTML
{% extends "views/platform-admin/_base_template.html" %}
|
|
{% from "components/textbox.html" import textbox %}
|
|
{% from "components/checkbox.html" import checkbox %}
|
|
{% from "components/page-footer.html" import page_footer %}
|
|
{% from "components/big-number.html" import big_number, big_number_with_status %}
|
|
{% from "components/message-count-label.html" import message_count_label %}
|
|
{% from "components/table.html" import mapping_table, field, stats_fields, row_group, row, right_aligned_field_heading, hidden_field_heading, text_field %}
|
|
{% from "components/form.html" import form_wrapper %}
|
|
|
|
{% 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=False,
|
|
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', border=False) %}
|
|
<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', border=False) %}
|
|
<span class="heading-medium">Live</span>
|
|
{% endcall %}
|
|
{% else %}
|
|
{% call field(border=False) %}
|
|
{% endcall %}
|
|
{% endif %}
|
|
|
|
{{ stats_fields('sms', service['stats']) }}
|
|
{% endcall %}
|
|
|
|
{% call row() %}
|
|
|
|
{% call field(border=False) %}
|
|
|
|
{% endcall %}
|
|
{{ stats_fields('letter', service['stats']) }}
|
|
|
|
{% endcall %}
|
|
|
|
{% endcall %}
|
|
|
|
{% endfor %}
|
|
|
|
{% endcall %}
|
|
{% endmacro %}
|
|
|
|
|
|
{% block per_page_title %}
|
|
{{ page_title|capitalize }}
|
|
{% endblock %}
|
|
|
|
{% block platform_admin_content %}
|
|
|
|
<h1 class="heading-large">
|
|
{{ page_title|capitalize }}
|
|
</h1>
|
|
|
|
<details>
|
|
<summary>Apply filters</summary>
|
|
{% call form_wrapper(method="get") %}
|
|
{{ textbox(form.start_date, hint="Enter start date in format YYYY-MM-DD") }}
|
|
{{ textbox(form.end_date, hint="Enter end date in format YYYY-MM-DD") }}
|
|
{{ checkbox(form.include_from_test_key) }}
|
|
</br>
|
|
<button type="submit" class="button">Filter</button>
|
|
{% endcall %}
|
|
</details>
|
|
|
|
{% include "views/platform-admin/_global_stats.html" %}
|
|
|
|
{{ services_table(services, page_title|capitalize) }}
|
|
|
|
{% endblock %}
|