diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index 39583386b..92f1bedbf 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -297,6 +297,14 @@ def service_switch_can_edit_folders(service_id): return redirect(url_for('.service_settings', service_id=service_id)) +@main.route("/services//service-settings/can-choose-postage") +@login_required +@user_is_platform_admin +def service_switch_can_choose_postage(service_id): + current_service.switch_permission('choose_postage') + return redirect(url_for('.service_settings', service_id=service_id)) + + @main.route("/services//service-settings/archive", methods=['GET', 'POST']) @login_required @user_has_permissions('manage_service') diff --git a/app/navigation.py b/app/navigation.py index 2fb37551d..8cf8c514b 100644 --- a/app/navigation.py +++ b/app/navigation.py @@ -241,6 +241,7 @@ class HeaderNavigation(Navigation): 'service_set_sms_prefix', 'service_settings', 'service_sms_senders', + 'service_switch_can_choose_postage', 'service_switch_can_edit_folders', 'service_switch_can_send_email', 'service_switch_can_send_precompiled_letter', @@ -475,6 +476,7 @@ class MainNavigation(Navigation): 'service_dashboard_updates', 'service_delete_email_reply_to', 'service_delete_sms_sender', + 'service_switch_can_choose_postage', 'service_switch_can_edit_folders', 'service_switch_can_send_email', 'service_switch_can_send_precompiled_letter', @@ -702,6 +704,7 @@ class CaseworkNavigation(Navigation): 'service_set_sms_prefix', 'service_settings', 'service_sms_senders', + 'service_switch_can_choose_postage', 'service_switch_can_edit_folders', 'service_switch_can_send_email', 'service_switch_can_send_precompiled_letter', @@ -937,6 +940,7 @@ class OrgNavigation(Navigation): 'service_set_sms_prefix', 'service_settings', 'service_sms_senders', + 'service_switch_can_choose_postage', 'service_switch_can_edit_folders', 'service_switch_can_send_email', 'service_switch_can_send_precompiled_letter', diff --git a/app/templates/views/service-settings.html b/app/templates/views/service-settings.html index 5470d37f2..576ab201f 100644 --- a/app/templates/views/service-settings.html +++ b/app/templates/views/service-settings.html @@ -380,6 +380,11 @@ {{ 'Stop editing folders' if 'edit_folders' in current_service.permissions else 'Allow to edit folders' }} +
  • + + {{ 'Stop choosing postage per template' if 'choose_postage' in current_service.permissions else 'Allow to choose postage per template' }} + +
  • {% if current_service.active %}
  • diff --git a/tests/app/main/views/service_settings/test_service_setting_permissions.py b/tests/app/main/views/service_settings/test_service_setting_permissions.py index 03317ce35..7403082e9 100644 --- a/tests/app/main/views/service_settings/test_service_setting_permissions.py +++ b/tests/app/main/views/service_settings/test_service_setting_permissions.py @@ -48,6 +48,15 @@ def get_service_settings_page( ({'permissions': ['edit_folders']}, '.service_switch_can_edit_folders', {}, 'Stop editing folders'), ({'permissions': []}, '.service_switch_can_edit_folders', {}, 'Allow to edit folders'), + + ( + {'permissions': ['choose_postage']}, + '.service_switch_can_choose_postage', + {}, + 'Stop choosing postage per template' + ), + ({'permissions': []}, '.service_switch_can_choose_postage', {}, 'Allow to choose postage per template'), + ({'permissions': ['sms']}, '.service_set_inbound_number', {'set_inbound_sms': True}, 'Allow inbound sms'), ({'active': True}, '.archive_service', {}, 'Archive service'),