Allow broadcasts to be cancelled

Currently this is a `get` request from the dashboard. Once we have a page
for viewing an individual broadcast it should probably show there
instead and be a `get`/confirm/`post` loop like for deleting a template.
This commit is contained in:
Chris Hill-Scott
2020-07-10 09:16:36 +01:00
parent 23cd6b9c9e
commit 44e177b402
5 changed files with 62 additions and 7 deletions

View File

@@ -124,3 +124,17 @@ def preview_broadcast_message(service_id, broadcast_message_id):
'views/broadcast/preview-message.html',
broadcast_message=broadcast_message,
)
@main.route('/services/<uuid:service_id>/broadcast/<uuid:broadcast_message_id>/cancel')
@user_has_permissions('send_messages')
@service_has_permission('broadcast')
def cancel_broadcast_message(service_id, broadcast_message_id):
BroadcastMessage.from_id(
broadcast_message_id,
service_id=current_service.id,
).cancel_broadcast()
return redirect(url_for(
'.broadcast_dashboard',
service_id=current_service.id,
))