mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-23 15:57:23 -04:00
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:
@@ -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):
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user