From f663092cf44267a28ffb49247a375c9e8a5124b4 Mon Sep 17 00:00:00 2001 From: Alexey Bezhan Date: Tue, 1 May 2018 15:50:35 +0100 Subject: [PATCH] Add a button for switching 'upload_document' permission Adds a platform admin button to the service settings to turn on/off 'upload_document' service permission. The permission allows uploading documents to document-download-api through the post notification API endpoint. --- app/main/views/service_settings.py | 8 ++++++++ app/navigation.py | 3 +++ app/templates/views/service-settings.html | 5 +++++ .../service_settings/test_service_setting_permissions.py | 5 +++++ 4 files changed, 21 insertions(+) diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index c65609518..1aca03f3d 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -319,6 +319,14 @@ def service_switch_can_send_precompiled_letter(service_id): return redirect(url_for('.service_settings', service_id=service_id)) +@main.route("/services//service-settings/can-upload-document") +@login_required +@user_is_platform_admin +def service_switch_can_upload_document(service_id): + switch_service_permissions(service_id, 'upload_document') + 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 5e595888f..b38eeb0ee 100644 --- a/app/navigation.py +++ b/app/navigation.py @@ -220,6 +220,7 @@ class HeaderNavigation(Navigation): 'service_sms_senders', 'service_switch_can_send_email', 'service_switch_can_send_precompiled_letter', + 'service_switch_can_upload_document', 'service_switch_can_send_sms', 'service_switch_email_auth', 'service_switch_live', @@ -430,6 +431,7 @@ class MainNavigation(Navigation): 'service_delete_sms_sender', 'service_switch_can_send_email', 'service_switch_can_send_precompiled_letter', + 'service_switch_can_upload_document', 'service_switch_can_send_sms', 'service_switch_email_auth', 'service_switch_live', @@ -628,6 +630,7 @@ class OrgNavigation(Navigation): 'service_sms_senders', 'service_switch_can_send_email', 'service_switch_can_send_precompiled_letter', + 'service_switch_can_upload_document', 'service_switch_can_send_sms', 'service_switch_email_auth', 'service_switch_live', diff --git a/app/templates/views/service-settings.html b/app/templates/views/service-settings.html index f50280452..d54edd799 100644 --- a/app/templates/views/service-settings.html +++ b/app/templates/views/service-settings.html @@ -339,6 +339,11 @@ {{ 'Stop user auth type editing' if 'email_auth' in current_service.permissions else 'Allow user auth type editing' }} +
  • + + {{ 'Stop uploading documents' if 'upload_document' in current_service.permissions else 'Allow to upload documents' }} + +
  • {% 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 fdcfa55e9..e26450ed0 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 @@ -40,6 +40,11 @@ def get_service_settings_page( ({'permissions': ['letter']}, '.service_switch_can_send_precompiled_letter', {}, 'Allow to send precompiled letters'), + ({'permissions': ['upload_document']}, + '.service_switch_can_upload_document', {}, 'Stop uploading documents'), + ({'permissions': []}, + '.service_switch_can_upload_document', {}, 'Allow to upload documents'), + ({'permissions': ['sms']}, '.service_set_inbound_number', {'set_inbound_sms': True}, 'Allow inbound sms'), ({'active': True}, '.archive_service', {}, 'Archive service'),