From ae79a3ac75ab0210d7835d91558960ed84946ef2 Mon Sep 17 00:00:00 2001 From: Katie Smith Date: Thu, 25 Oct 2018 12:09:26 +0100 Subject: [PATCH] Add platform admin button for edit_folders permission Added a platform admin button to allow / remove the edit_folders permission for a service. --- app/main/views/service_settings.py | 8 ++++++++ app/navigation.py | 4 ++++ app/templates/views/service-settings.html | 5 +++++ .../service_settings/test_service_setting_permissions.py | 3 +++ 4 files changed, 20 insertions(+) diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index ac17ef791..f1c111ad3 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -363,6 +363,14 @@ def service_switch_can_upload_document(service_id): return render_template('views/service-settings/contact_link.html', form=form) +@main.route("/services//service-settings/can-edit-folders") +@login_required +@user_is_platform_admin +def service_switch_can_edit_folders(service_id): + switch_service_permissions(service_id, 'edit_folders') + 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 ec99d3b4e..148302750 100644 --- a/app/navigation.py +++ b/app/navigation.py @@ -237,6 +237,7 @@ class HeaderNavigation(Navigation): 'service_set_sms_prefix', 'service_settings', 'service_sms_senders', + 'service_switch_can_edit_folders', 'service_switch_can_send_email', 'service_switch_can_send_precompiled_letter', 'service_switch_can_upload_document', @@ -466,6 +467,7 @@ class MainNavigation(Navigation): 'service_dashboard_updates', 'service_delete_email_reply_to', 'service_delete_sms_sender', + 'service_switch_can_edit_folders', 'service_switch_can_send_email', 'service_switch_can_send_precompiled_letter', 'service_switch_can_upload_document', @@ -688,6 +690,7 @@ class CaseworkNavigation(Navigation): 'service_set_sms_prefix', 'service_settings', 'service_sms_senders', + 'service_switch_can_edit_folders', 'service_switch_can_send_email', 'service_switch_can_send_precompiled_letter', 'service_switch_can_send_sms', @@ -918,6 +921,7 @@ class OrgNavigation(Navigation): 'service_set_sms_prefix', 'service_settings', 'service_sms_senders', + 'service_switch_can_edit_folders', 'service_switch_can_send_email', 'service_switch_can_send_precompiled_letter', 'service_switch_can_upload_document', diff --git a/app/templates/views/service-settings.html b/app/templates/views/service-settings.html index 77e78020a..e4b8e16cd 100644 --- a/app/templates/views/service-settings.html +++ b/app/templates/views/service-settings.html @@ -378,6 +378,11 @@ {{ 'Stop uploading documents' if 'upload_document' in current_service.permissions else 'Allow to upload documents' }} +
  • + + {{ 'Stop editing folders' if 'edit_folders' in current_service.permissions else 'Allow to edit folders' }} + +
  • {% 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 51cd9d805..03317ce35 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 @@ -45,6 +45,9 @@ def get_service_settings_page( ({'permissions': []}, '.service_switch_can_upload_document', {}, 'Allow to upload documents'), + ({'permissions': ['edit_folders']}, '.service_switch_can_edit_folders', {}, 'Stop editing folders'), + ({'permissions': []}, '.service_switch_can_edit_folders', {}, 'Allow to edit folders'), + ({'permissions': ['sms']}, '.service_set_inbound_number', {'set_inbound_sms': True}, 'Allow inbound sms'), ({'active': True}, '.archive_service', {}, 'Archive service'),