Add a separate page for rejected alerts

We don’t want to mix these up with alerts that actually went out.
This commit is contained in:
Chris Hill-Scott
2021-04-08 13:09:29 +01:00
parent 9977028a83
commit dc4db4951a
5 changed files with 77 additions and 6 deletions

View File

@@ -51,7 +51,6 @@ def broadcast_dashboard_previous(service_id):
broadcasts=BroadcastMessages(service_id).with_status(
'cancelled',
'completed',
'rejected',
),
page_title='Previous alerts',
empty_message='You do not have any previous alerts',
@@ -59,6 +58,21 @@ def broadcast_dashboard_previous(service_id):
)
@main.route('/services/<uuid:service_id>/rejected-alerts')
@user_has_permissions()
@service_has_permission('broadcast')
def broadcast_dashboard_rejected(service_id):
return render_template(
'views/broadcast/previous-broadcasts.html',
broadcasts=BroadcastMessages(service_id).with_status(
'rejected',
),
page_title='Rejected alerts',
empty_message='You do not have any rejected alerts',
view_broadcast_endpoint='.view_rejected_broadcast',
)
@main.route('/services/<uuid:service_id>/broadcast-dashboard.json')
@user_has_permissions()
@service_has_permission('broadcast')
@@ -345,6 +359,10 @@ def preview_broadcast_message(service_id, broadcast_message_id):
'/services/<uuid:service_id>/previous-alerts/<uuid:broadcast_message_id>',
endpoint='view_previous_broadcast',
)
@main.route(
'/services/<uuid:service_id>/rejected-alerts/<uuid:broadcast_message_id>',
endpoint='view_rejected_broadcast',
)
@user_has_permissions()
@service_has_permission('broadcast')
def view_broadcast(service_id, broadcast_message_id):
@@ -356,7 +374,7 @@ def view_broadcast(service_id, broadcast_message_id):
abort(404)
if (
broadcast_message.status in {'completed', 'cancelled', 'rejected'}
broadcast_message.status in {'completed', 'cancelled'}
and request.endpoint != 'main.view_previous_broadcast'
):
return redirect(url_for(
@@ -375,9 +393,20 @@ def view_broadcast(service_id, broadcast_message_id):
broadcast_message_id=broadcast_message.id,
))
if (
broadcast_message.status in {'rejected'}
and request.endpoint != 'main.view_rejected_broadcast'
):
return redirect(url_for(
'.view_rejected_broadcast',
service_id=current_service.id,
broadcast_message_id=broadcast_message.id,
))
back_link_endpoint = {
'main.view_current_broadcast': '.broadcast_dashboard',
'main.view_previous_broadcast': '.broadcast_dashboard_previous',
'main.view_rejected_broadcast': '.broadcast_dashboard_rejected',
}[request.endpoint]
return render_template(