From 7e8c638865bddce0ba142541af3c386dc5a47476 Mon Sep 17 00:00:00 2001 From: Katie Smith Date: Tue, 29 Jun 2021 17:34:29 +0100 Subject: [PATCH] Change /broadcast/view-message.html page to work with both permissions The buttons and links on this page now work with the original permissions and the two new broadcast permissions. Since the new broadcast permissions have the effect of splitting the `send_messages` permission this means that additional sections of if/else logic were required. --- .../views/broadcast/view-message.html | 40 ++- tests/app/main/views/test_broadcast.py | 250 ++++++++++++++++-- 2 files changed, 256 insertions(+), 34 deletions(-) diff --git a/app/templates/views/broadcast/view-message.html b/app/templates/views/broadcast/view-message.html index 1ba0edceb..e2fd2ec27 100644 --- a/app/templates/views/broadcast/view-message.html +++ b/app/templates/views/broadcast/view-message.html @@ -1,5 +1,4 @@ {% from "components/back-link/macro.njk" import govukBackLink %} -{% from "components/button/macro.njk" import govukButton %} {% from "components/details/macro.njk" import govukDetails %} {% from "components/form.html" import form_wrapper %} {% from "components/banner.html" import banner %} @@ -19,9 +18,10 @@ {% 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', restrict_admin_usage=True) %} + {% if broadcast_message.created_by and broadcast_message.created_by == current_user + and current_user.has_permissions('send_messages', 'create_broadcasts', 'approve_broadcasts', restrict_admin_usage=True) %} {{ broadcast_message.template.name }} is waiting for approval - {% elif current_user.has_permissions('send_messages', restrict_admin_usage=True) %} + {% elif current_user.has_permissions('send_messages', 'approve_broadcasts', restrict_admin_usage=True) %} {% if broadcast_message.created_by %} {{ broadcast_message.created_by.name }} {% else %} @@ -42,7 +42,8 @@ {{ 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', restrict_admin_usage=True) %} + {% if broadcast_message.created_by and broadcast_message.created_by == current_user + and current_user.has_permissions('send_messages', 'create_broadcasts', 'approve_broadcasts', restrict_admin_usage=True) %} - {% elif current_user.has_permissions('send_messages', restrict_admin_usage=True) %} + {% elif current_user.has_permissions('send_messages', 'approve_broadcasts', restrict_admin_usage=True) %} {% call form_wrapper(class="banner govuk-!-margin-bottom-6") %}

{% if broadcast_message.created_by %} @@ -109,6 +121,22 @@ delete_link_text='Reject this alert' ) }} {% endcall %} + {% elif current_user.has_permissions('create_broadcasts', restrict_admin_usage=True) %} + {% else %}