No emails, texts or letters for broadcast services

To make the interface as simple as possible we don’t want to mix up
sending other types of communication where services have the broadcast
permission.

This commit removes the other permissions once a service has been given
the broadcast permission by a platform admin user.
This commit is contained in:
Chris Hill-Scott
2020-07-13 08:56:57 +01:00
parent 494636937b
commit 97aca503f7
3 changed files with 64 additions and 13 deletions

View File

@@ -305,6 +305,35 @@ def service_set_permission(service_id, permission):
)
@main.route("/services/<uuid:service_id>/service-settings/permissions/broadcast", methods=["GET", "POST"])
@user_is_platform_admin
def service_set_broadcast_permission(service_id):
title = PLATFORM_ADMIN_SERVICE_PERMISSIONS['broadcast']['title']
form = ServiceOnOffSettingForm(
name=title,
enabled=current_service.has_permission('broadcast')
)
if form.validate_on_submit():
if form.enabled.data:
current_service.force_permission('broadcast', on=True)
current_service.force_permission('email', on=False)
current_service.force_permission('sms', on=False)
current_service.force_permission('letter', on=False)
else:
current_service.force_permission('broadcast', on=False)
return redirect(url_for(".service_settings", service_id=service_id))
return render_template(
'views/service-settings/set-service-setting.html',
title=title,
form=form,
)
@main.route("/services/<uuid:service_id>/service-settings/archive", methods=['GET', 'POST'])
@user_has_permissions('manage_service')
def archive_service(service_id):

View File

@@ -307,6 +307,7 @@ class HeaderNavigation(Navigation):
'service_switch_count_as_live',
'service_switch_live',
'service_set_permission',
'service_set_broadcast_permission',
'service_verify_reply_to_address',
'service_verify_reply_to_address_updates',
'services_or_dashboard',
@@ -635,6 +636,7 @@ class MainNavigation(Navigation):
'service_switch_count_as_live',
'service_switch_live',
'service_set_permission',
'service_set_broadcast_permission',
'services_or_dashboard',
'show_accounts_or_dashboard',
'sign_in',
@@ -933,6 +935,7 @@ class CaseworkNavigation(Navigation):
'service_switch_count_as_live',
'service_switch_live',
'service_set_permission',
'service_set_broadcast_permission',
'service_verify_reply_to_address',
'service_verify_reply_to_address_updates',
'services_or_dashboard',
@@ -1237,6 +1240,7 @@ class OrgNavigation(Navigation):
'service_switch_count_as_live',
'service_switch_live',
'service_set_permission',
'service_set_broadcast_permission',
'service_verify_reply_to_address',
'service_verify_reply_to_address_updates',
'services_or_dashboard',