mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-17 13:09:49 -04:00
Merge pull request #1910 from GSA/1487-display-data-most-used-templates-table
Display data: Most used templates table
This commit is contained in:
@@ -325,13 +325,19 @@ def aggregate_template_usage(template_statistics, sort_key="count"):
|
||||
key=lambda x: x["template_id"],
|
||||
):
|
||||
template_stats = list(v)
|
||||
|
||||
first_stat = template_stats[0] if template_stats else None
|
||||
templates.append(
|
||||
{
|
||||
"template_id": k,
|
||||
"template_name": template_stats[0]["template_name"],
|
||||
"template_type": template_stats[0]["template_type"],
|
||||
"template_name": first_stat.get("template_name"),
|
||||
"template_type": first_stat.get("template_type"),
|
||||
"count": sum(s["count"] for s in template_stats),
|
||||
"created_by": first_stat.get("created_by"),
|
||||
"created_by_id": first_stat.get("created_by_id"),
|
||||
"last_used": first_stat.get("last_used"),
|
||||
"status": first_stat.get("status"),
|
||||
"template_folder": first_stat.get("template_folder"),
|
||||
"template_folder_id": first_stat.get("template_folder_id"),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -1,35 +1,45 @@
|
||||
{% from "components/table.html" import list_table, field, right_aligned_field_heading, row_heading, spark_bar_field %}
|
||||
|
||||
<div class="ajax-block-container">
|
||||
{% if template_statistics|length > 0 %}
|
||||
<h2 class="margin-top-4 margin-bottom-1">Recent templates</h2>
|
||||
<div class='template-statistics-table table-overflow-x-auto'>
|
||||
{% call(item, row_number) list_table(
|
||||
template_statistics,
|
||||
caption="Messages sent by template",
|
||||
caption_visible=False,
|
||||
border_visible=True,
|
||||
empty_message='',
|
||||
field_headings=[
|
||||
'Template',
|
||||
'Messages sent'
|
||||
],
|
||||
field_headings_visible=False
|
||||
) %}
|
||||
|
||||
{% call row_heading() %}
|
||||
<a class="usa-link template-statistics-table-template-name" href="{{ url_for('.view_template', service_id=current_service.id, template_id=item.template_id) }}">{{ item.template_name }}</a>
|
||||
<span class="template-statistics-table-hint">
|
||||
{{ 1|message_count_label(item.template_type, suffix='template')|capitalize }}
|
||||
</span>
|
||||
{% endcall %}
|
||||
|
||||
{{ spark_bar_field(item.count, most_used_template_count, id=item.template_id) }}
|
||||
{% endcall %}
|
||||
<a
|
||||
href="{{ url_for('.template_usage', service_id=current_service.id) }}"
|
||||
class="usa-link show-more-no-border"
|
||||
><span>See templates used by month</span></a>
|
||||
{% if template_statistics|length > 1 %}
|
||||
<h2 class="margin-top-4 margin-bottom-1">Most Used Templates</h2>
|
||||
<div class="template-statistics-table table-overflow-x-auto">
|
||||
<table class="usa-table width-full">
|
||||
<caption class="font-body-lg table-heading usa-sr-only">
|
||||
Messages sent by template
|
||||
</caption>
|
||||
<thead class="table-field-headings">
|
||||
<tr>
|
||||
<th class="table-field-heading-first" width="">
|
||||
<span>Template name</span>
|
||||
</th>
|
||||
<th class="table-field-heading" width="">
|
||||
<span>Folder</span>
|
||||
</th>
|
||||
<th class="table-field-heading" width="">
|
||||
<span>Last used</span>
|
||||
</th>
|
||||
<th class="table-field-heading" width="">
|
||||
<span>Created by</span>
|
||||
</th>
|
||||
<th class="table-field-heading" width="">
|
||||
<span># Times used</span>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for item in template_statistics[:8] %}
|
||||
<tr class="table-row">
|
||||
<td>
|
||||
<a class="usa-link template-statistics-table-template-name" href="{{ url_for('.view_template', service_id=current_service.id, template_id=item.template_id) }}">{{ item.template_name }}</a>
|
||||
</td>
|
||||
<td><p>{{ item.template_folder }}</p></td>
|
||||
<td><p>{{ item.last_used|format_datetime_table}}</p></td>
|
||||
<td><p>{{ item.created_by }}</p></td>
|
||||
<td><p>{{ item.count }}</p></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<a href="/services/78409625-0c0a-485e-b82c-b19c8f4b1bdb/template-usage" class="usa-link show-more-no-border"><span>See templates by month</span></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -133,6 +133,11 @@ stub_template_stats = [
|
||||
"template_id": "id-1",
|
||||
"status": "created",
|
||||
"count": 50,
|
||||
"last_used": "2024-01-25T23:02:25+00:00",
|
||||
"created_by": "Test user",
|
||||
"created_by_id": "987654",
|
||||
"template_folder": "Some_folder",
|
||||
"template_folder_id": "123456",
|
||||
},
|
||||
{
|
||||
"template_type": "email",
|
||||
@@ -140,6 +145,11 @@ stub_template_stats = [
|
||||
"template_id": "id-2",
|
||||
"status": "created",
|
||||
"count": 100,
|
||||
"last_used": "2024-01-25T23:02:25+00:00",
|
||||
"created_by": "Test user",
|
||||
"created_by_id": "987654",
|
||||
"template_folder": "Some_folder",
|
||||
"template_folder_id": "123456",
|
||||
},
|
||||
{
|
||||
"template_type": "email",
|
||||
@@ -147,6 +157,11 @@ stub_template_stats = [
|
||||
"template_id": "id-2",
|
||||
"status": "technical-failure",
|
||||
"count": 100,
|
||||
"last_used": "2024-01-25T23:02:25+00:00",
|
||||
"created_by": "Test user",
|
||||
"created_by_id": "987654",
|
||||
"template_folder": "Some_folder",
|
||||
"template_folder_id": "123456",
|
||||
},
|
||||
{
|
||||
"template_type": "sms",
|
||||
@@ -154,6 +169,11 @@ stub_template_stats = [
|
||||
"template_id": "id-1",
|
||||
"status": "delivered",
|
||||
"count": 50,
|
||||
"last_used": "2024-01-25T23:02:25+00:00",
|
||||
"created_by": "Test user",
|
||||
"created_by_id": "987654",
|
||||
"template_folder": "Some_folder",
|
||||
"template_folder_id": "123456",
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user