mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-15 19:01:04 -04:00
New pages to show a summary of all the reports the services has for its returned letters
This commit is contained in:
@@ -29,6 +29,7 @@ from app.main.views import ( # noqa isort:skip
|
||||
platform_admin,
|
||||
providers,
|
||||
register,
|
||||
returned_letters,
|
||||
send,
|
||||
service_settings,
|
||||
sign_in,
|
||||
|
||||
22
app/main/views/returned_letters.py
Normal file
22
app/main/views/returned_letters.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from flask import render_template, request
|
||||
|
||||
from app import service_api_client
|
||||
from app.main import main
|
||||
from app.utils import user_has_permissions
|
||||
|
||||
|
||||
@main.route("/services/<uuid:service_id>/returned-letter-summary", methods=["GET", "POST"])
|
||||
@user_has_permissions('manage_service')
|
||||
def returned_letter_summary(service_id):
|
||||
summary = service_api_client.get_returned_letter_summary(service_id)
|
||||
return render_template(
|
||||
'views/returned-letter-summary.html',
|
||||
data=summary,
|
||||
)
|
||||
|
||||
|
||||
@main.route("/services/<uuid:service_id>/returned-letters-csv/<reported_at>", methods=["GET", "POST"])
|
||||
@user_has_permissions('manage_service')
|
||||
def returned_letters_report(service_id, reported_at):
|
||||
|
||||
return str(service_api_client.get_returned_letters(service_id, reported_at))
|
||||
@@ -569,5 +569,10 @@ class ServiceAPIClient(NotifyAdminAPIClient):
|
||||
def get_service_data_retention(self, service_id):
|
||||
return self.get("/service/{}/data-retention".format(service_id))
|
||||
|
||||
def get_returned_letter_summary(self, service_id):
|
||||
return self.get("service/{}/returned-letter-summary".format(service_id))
|
||||
|
||||
def get_returned_letters(self, service_id, reported_at):
|
||||
return self.get("service/{}/returned-letters?reported_at={}".format(service_id, reported_at))
|
||||
|
||||
service_api_client = ServiceAPIClient()
|
||||
|
||||
32
app/templates/views/returned-letter-summary.html
Normal file
32
app/templates/views/returned-letter-summary.html
Normal file
@@ -0,0 +1,32 @@
|
||||
{% from "components/table.html" import list_table, field %}
|
||||
{% extends "withnav_template.html" %}
|
||||
|
||||
{% block service_page_title %}
|
||||
Returned letters
|
||||
{% endblock %}
|
||||
|
||||
{% block maincolumn_content %}
|
||||
<h1 class="heading-large">
|
||||
Messages sent
|
||||
</h1>
|
||||
<div class="body-copy-table" id='pill-selected-item'>
|
||||
{% call(item, row_number) list_table(
|
||||
data,
|
||||
caption="Report",
|
||||
caption_visible=False,
|
||||
empty_message='If you have returned letter reports they will be listed here',
|
||||
field_headings=[
|
||||
'Report date',
|
||||
'number of letters'
|
||||
],
|
||||
field_headings_visible=False
|
||||
) %}
|
||||
{% call field() %}
|
||||
<a href="{{url_for('.returned_letters_report', service_id=current_service.id, reported_date=item.reported_at)}}">
|
||||
Returned letters reported on {{ item.reported_at | format_datetime_short}} ({{ item.returned_letter_count}} letters)
|
||||
</a>
|
||||
{% endcall %}
|
||||
{% endcall %}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user