mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-05-05 08:31:00 -04:00
Merge pull request #3854 from alphagov/admin-cancel-broadcast
Allow platform admins to cancel broadcasts.
This commit is contained in:
@@ -93,7 +93,7 @@ def get_broadcast_dashboard_partials(service_id):
|
||||
|
||||
|
||||
@main.route('/services/<uuid:service_id>/new-broadcast', methods=['GET', 'POST'])
|
||||
@user_has_permissions('send_messages')
|
||||
@user_has_permissions('send_messages', restrict_admin_usage=True)
|
||||
@service_has_permission('broadcast')
|
||||
def new_broadcast(service_id):
|
||||
form = NewBroadcastForm()
|
||||
@@ -116,7 +116,7 @@ def new_broadcast(service_id):
|
||||
|
||||
|
||||
@main.route('/services/<uuid:service_id>/write-new-broadcast', methods=['GET', 'POST'])
|
||||
@user_has_permissions('send_messages')
|
||||
@user_has_permissions('send_messages', restrict_admin_usage=True)
|
||||
@service_has_permission('broadcast')
|
||||
def write_new_broadcast(service_id):
|
||||
form = BroadcastTemplateForm()
|
||||
@@ -140,7 +140,7 @@ def write_new_broadcast(service_id):
|
||||
|
||||
|
||||
@main.route('/services/<uuid:service_id>/new-broadcast/<uuid:template_id>')
|
||||
@user_has_permissions('send_messages')
|
||||
@user_has_permissions('send_messages', restrict_admin_usage=True)
|
||||
@service_has_permission('broadcast')
|
||||
def broadcast(service_id, template_id):
|
||||
return redirect(url_for(
|
||||
@@ -154,7 +154,7 @@ def broadcast(service_id, template_id):
|
||||
|
||||
|
||||
@main.route('/services/<uuid:service_id>/broadcast/<uuid:broadcast_message_id>/areas')
|
||||
@user_has_permissions('send_messages')
|
||||
@user_has_permissions('send_messages', restrict_admin_usage=True)
|
||||
@service_has_permission('broadcast')
|
||||
def preview_broadcast_areas(service_id, broadcast_message_id):
|
||||
broadcast_message = BroadcastMessage.from_id(
|
||||
@@ -181,7 +181,7 @@ def preview_broadcast_areas(service_id, broadcast_message_id):
|
||||
|
||||
|
||||
@main.route('/services/<uuid:service_id>/broadcast/<uuid:broadcast_message_id>/libraries')
|
||||
@user_has_permissions('send_messages')
|
||||
@user_has_permissions('send_messages', restrict_admin_usage=True)
|
||||
@service_has_permission('broadcast')
|
||||
def choose_broadcast_library(service_id, broadcast_message_id):
|
||||
return render_template(
|
||||
@@ -198,7 +198,7 @@ def choose_broadcast_library(service_id, broadcast_message_id):
|
||||
'/services/<uuid:service_id>/broadcast/<uuid:broadcast_message_id>/libraries/<library_slug>',
|
||||
methods=['GET', 'POST'],
|
||||
)
|
||||
@user_has_permissions('send_messages')
|
||||
@user_has_permissions('send_messages', restrict_admin_usage=True)
|
||||
@service_has_permission('broadcast')
|
||||
def choose_broadcast_area(service_id, broadcast_message_id, library_slug):
|
||||
broadcast_message = BroadcastMessage.from_id(
|
||||
@@ -258,7 +258,7 @@ def _get_broadcast_sub_area_back_link(service_id, broadcast_message_id, library_
|
||||
'/services/<uuid:service_id>/broadcast/<uuid:broadcast_message_id>/libraries/<library_slug>/<area_slug>',
|
||||
methods=['GET', 'POST'],
|
||||
)
|
||||
@user_has_permissions('send_messages')
|
||||
@user_has_permissions('send_messages', restrict_admin_usage=True)
|
||||
@service_has_permission('broadcast')
|
||||
def choose_broadcast_sub_area(service_id, broadcast_message_id, library_slug, area_slug):
|
||||
broadcast_message = BroadcastMessage.from_id(
|
||||
@@ -310,7 +310,7 @@ def choose_broadcast_sub_area(service_id, broadcast_message_id, library_slug, ar
|
||||
|
||||
|
||||
@main.route('/services/<uuid:service_id>/broadcast/<uuid:broadcast_message_id>/remove/<area_slug>')
|
||||
@user_has_permissions('send_messages')
|
||||
@user_has_permissions('send_messages', restrict_admin_usage=True)
|
||||
@service_has_permission('broadcast')
|
||||
def remove_broadcast_area(service_id, broadcast_message_id, area_slug):
|
||||
BroadcastMessage.from_id(
|
||||
@@ -330,7 +330,7 @@ def remove_broadcast_area(service_id, broadcast_message_id, area_slug):
|
||||
'/services/<uuid:service_id>/broadcast/<uuid:broadcast_message_id>/preview',
|
||||
methods=['GET', 'POST'],
|
||||
)
|
||||
@user_has_permissions('send_messages')
|
||||
@user_has_permissions('send_messages', restrict_admin_usage=True)
|
||||
@service_has_permission('broadcast')
|
||||
def preview_broadcast_message(service_id, broadcast_message_id):
|
||||
broadcast_message = BroadcastMessage.from_id(
|
||||
@@ -405,7 +405,7 @@ def view_broadcast(service_id, broadcast_message_id):
|
||||
|
||||
|
||||
@main.route('/services/<uuid:service_id>/current-alerts/<uuid:broadcast_message_id>', methods=['POST'])
|
||||
@user_has_permissions('send_messages')
|
||||
@user_has_permissions('send_messages', restrict_admin_usage=True)
|
||||
@service_has_permission('broadcast')
|
||||
def approve_broadcast_message(service_id, broadcast_message_id):
|
||||
|
||||
@@ -438,7 +438,7 @@ def approve_broadcast_message(service_id, broadcast_message_id):
|
||||
|
||||
|
||||
@main.route('/services/<uuid:service_id>/broadcast/<uuid:broadcast_message_id>/reject')
|
||||
@user_has_permissions('send_messages')
|
||||
@user_has_permissions('send_messages', restrict_admin_usage=True)
|
||||
@service_has_permission('broadcast')
|
||||
def reject_broadcast_message(service_id, broadcast_message_id):
|
||||
|
||||
@@ -466,7 +466,7 @@ def reject_broadcast_message(service_id, broadcast_message_id):
|
||||
'/services/<uuid:service_id>/broadcast/<uuid:broadcast_message_id>/cancel',
|
||||
methods=['GET', 'POST'],
|
||||
)
|
||||
@user_has_permissions('send_messages')
|
||||
@user_has_permissions('send_messages', restrict_admin_usage=False)
|
||||
@service_has_permission('broadcast')
|
||||
def cancel_broadcast_message(service_id, broadcast_message_id):
|
||||
broadcast_message = BroadcastMessage.from_id(
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
'current_broadcasts'
|
||||
) }}
|
||||
|
||||
{% if current_user.has_permissions('send_messages') %}
|
||||
{% if current_user.has_permissions('send_messages', restrict_admin_usage=True) %}
|
||||
<div class="js-stick-at-bottom-when-scrolling">
|
||||
{{ govukButton({
|
||||
"element": "a",
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
{% include('views/broadcast/partials/dashboard-table.html') %}
|
||||
|
||||
{% if current_user.has_permissions('send_messages') %}
|
||||
{% if current_user.has_permissions('send_messages', restrict_admin_usage=True) %}
|
||||
<div class="js-stick-at-bottom-when-scrolling">
|
||||
{{ govukButton({
|
||||
"element": "a",
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
|
||||
{% block service_page_title %}
|
||||
{% if broadcast_message.status == 'pending-approval' %}
|
||||
{% if broadcast_message.created_by and broadcast_message.created_by == current_user and current_user.has_permissions('send_messages') %}
|
||||
{% if broadcast_message.created_by and broadcast_message.created_by == current_user and current_user.has_permissions('send_messages', restrict_admin_usage=True) %}
|
||||
{{ broadcast_message.template.name }} is waiting for approval
|
||||
{% elif current_user.has_permissions('send_messages') %}
|
||||
{% elif current_user.has_permissions('send_messages', restrict_admin_usage=True) %}
|
||||
{% if broadcast_message.created_by %}
|
||||
{{ broadcast_message.created_by.name }}
|
||||
{% else %}
|
||||
@@ -42,7 +42,7 @@
|
||||
{{ govukBackLink({ "href": back_link }) }}
|
||||
|
||||
{% if broadcast_message.status == 'pending-approval' %}
|
||||
{% if broadcast_message.created_by and broadcast_message.created_by == current_user and current_user.has_permissions('send_messages') %}
|
||||
{% if broadcast_message.created_by and broadcast_message.created_by == current_user and current_user.has_permissions('send_messages', restrict_admin_usage=True) %}
|
||||
<div class="banner govuk-!-margin-bottom-6">
|
||||
<h1 class="govuk-heading-m govuk-!-margin-bottom-3">
|
||||
{{ broadcast_message.template.name }} is waiting for approval
|
||||
@@ -81,7 +81,7 @@
|
||||
</details>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% elif current_user.has_permissions('send_messages') %}
|
||||
{% elif current_user.has_permissions('send_messages', restrict_admin_usage=True) %}
|
||||
{% call form_wrapper(class="banner govuk-!-margin-bottom-6") %}
|
||||
<h1 class="govuk-heading-m govuk-!-margin-top-0 govuk-!-margin-bottom-3">
|
||||
{% if broadcast_message.created_by %}
|
||||
|
||||
Reference in New Issue
Block a user