From a6662b3f59c2528a2ee29a60bd0af56f426c9c02 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Mon, 9 Jul 2018 17:04:02 +0100 Subject: [PATCH] Add basic view to the settings page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit adds: - a row to the settings page… - …which links to a page explaining what basic view is The new row (and link) will only appear for services who already have the feature switched on. This is because we are not launching the feature yet, so it shouldn’t be available to just anyone. --- app/main/views/service_settings.py | 9 ++++++ app/navigation.py | 4 +++ app/templates/views/service-settings.html | 12 +++++++ .../service-settings/set-basic-view.html | 31 +++++++++++++++++++ tests/app/main/views/test_service_settings.py | 26 ++++++++++++++++ 5 files changed, 82 insertions(+) create mode 100644 app/templates/views/service-settings/set-basic-view.html diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index 9f8580997..cb6d1ed5f 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -635,6 +635,15 @@ def service_set_auth_type(service_id): ) +@main.route("/services//service-settings/set-basic-view", methods=['GET']) +@login_required +@user_has_permissions('manage_service') +def service_set_basic_view(service_id): + return render_template( + 'views/service-settings/set-basic-view.html', + ) + + @main.route("/services//service-settings/letter-contacts", methods=['GET']) @login_required @user_has_permissions('manage_service', 'manage_api_keys') diff --git a/app/navigation.py b/app/navigation.py index 056d66110..c71237ad5 100644 --- a/app/navigation.py +++ b/app/navigation.py @@ -212,6 +212,7 @@ class HeaderNavigation(Navigation): 'service_name_change', 'service_name_change_confirm', 'service_set_auth_type', + 'service_set_basic_view', 'service_set_contact_link', 'service_set_email', 'service_set_email_branding', @@ -331,6 +332,7 @@ class MainNavigation(Navigation): 'service_name_change', 'service_name_change_confirm', 'service_set_auth_type', + 'service_set_basic_view', 'service_set_contact_link', 'service_set_email', 'service_set_email_branding', @@ -638,6 +640,7 @@ class CaseworkNavigation(Navigation): 'service_name_change', 'service_name_change_confirm', 'service_set_auth_type', + 'service_set_basic_view', 'service_set_contact_link', 'service_set_email', 'service_set_email_branding', @@ -859,6 +862,7 @@ class OrgNavigation(Navigation): 'service_name_change', 'service_name_change_confirm', 'service_set_auth_type', + 'service_set_basic_view', 'service_set_contact_link', 'service_set_email', 'service_set_email_branding', diff --git a/app/templates/views/service-settings.html b/app/templates/views/service-settings.html index 22b9667fd..cc27cc59d 100644 --- a/app/templates/views/service-settings.html +++ b/app/templates/views/service-settings.html @@ -46,6 +46,18 @@ }} {% endcall %} + {% call settings_row(if_has_permission='caseworking') %} + {{ text_field('Basic view') }} + {{ boolean_field('caseworking' in current_service.permissions) }} + {{ edit_field( + 'Change', + url_for('.service_set_basic_view', + service_id=current_service.id), + permissions=['manage_service'] + ) + }} + {% endcall %} + {% call settings_row(if_has_permission='upload_document') %} {{ text_field('Contact link') }} {{ text_field(current_service.contact_link, truncate=true) }} diff --git a/app/templates/views/service-settings/set-basic-view.html b/app/templates/views/service-settings/set-basic-view.html new file mode 100644 index 000000000..7f5c6fd68 --- /dev/null +++ b/app/templates/views/service-settings/set-basic-view.html @@ -0,0 +1,31 @@ +{% extends "withnav_template.html" %} +{% from "components/textbox.html" import textbox %} +{% from "components/page-footer.html" import page_footer %} + +{% block service_page_title %} + Basic view +{% endblock %} + +{% block maincolumn_content %} + +
+
+

Basic view

+

+ Basic view lets you restrict a team member to only: +

+
    +
  • send messages
  • +
  • see sent messages
  • +
+

+ You’ll get to choose which team members have basic view. +

+ {{ page_footer( + back_link=url_for('.service_settings', service_id=current_service.id), + back_link_text='Back to settings' + ) }} +
+
+ +{% endblock %} diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py index a9cf5e1d7..c9662edbf 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -170,6 +170,22 @@ def test_should_show_overview( 'Send letters Off Change', ]), + (['letters', 'caseworking'], [ + + 'Service name service one Change', + 'Sign-in method Text message code Change', + 'Basic view On Change', + + 'Label Value Action', + 'Send emails Off Change', + + 'Label Value Action', + 'Send text messages Off Change', + + 'Label Value Action', + 'Send letters Off Change', + + ]), ]) def test_should_show_overview_for_service_with_more_things_set( client, @@ -2374,6 +2390,16 @@ def test_invitation_pages( assert normalize_spaces(page.select('main p')[0].text) == expected_p +def test_see_basic_view_page( + client_request, +): + page = client_request.get( + "main.service_set_basic_view", + service_id=SERVICE_ONE_ID + ) + assert page.h1.text.strip() == 'Basic view' + + def test_service_settings_when_inbound_number_is_not_set( logged_in_client, service_one,