diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index 8517aa2fd..d891164ea 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -286,6 +286,15 @@ def service_set_international_sms(service_id): ) +@main.route("/services//service-settings/set-letters", methods=['GET']) +@login_required +@user_has_permissions('manage_settings', admin_override=True) +def service_set_letters(service_id): + return render_template( + 'views/service-settings/set-letters.html', + ) + + @main.route("/services//service-settings/set-letter-contact-block", methods=['GET', 'POST']) @login_required @user_has_permissions('manage_settings', admin_override=True) diff --git a/app/templates/views/service-settings.html b/app/templates/views/service-settings.html index eb3ed8c2d..b133d1aa6 100644 --- a/app/templates/views/service-settings.html +++ b/app/templates/views/service-settings.html @@ -39,12 +39,19 @@ {{ text_field(current_service.sms_sender or '40604') }} {{ edit_field('Change', url_for('.service_set_sms_sender', service_id=current_service.id)) }} {% endcall %} + {% call row() %} {{ text_field('International text messages') }} {{ text_field('On' if current_service.can_send_international_sms else 'Off') }} {{ edit_field('Change', url_for('.service_set_international_sms', service_id=current_service.id)) }} {% endcall %} + {% call row() %} + {{ text_field('Letters') }} + {{ text_field('On' if current_service.can_send_letters else 'Off') }} + {{ edit_field('Change', url_for('.service_set_letters', service_id=current_service.id)) }} + {% endcall %} + {% if current_service.can_send_letters %} {% call row() %} {{ text_field('Letter contact details') }} diff --git a/app/templates/views/service-settings/set-letters.html b/app/templates/views/service-settings/set-letters.html new file mode 100644 index 000000000..1057ff45f --- /dev/null +++ b/app/templates/views/service-settings/set-letters.html @@ -0,0 +1,38 @@ +{% extends "withnav_template.html" %} +{% from "components/textbox.html" import textbox %} +{% from "components/page-footer.html" import page_footer %} + +{% block service_page_title %} + Text message sender +{% endblock %} + +{% block maincolumn_content %} + +
+
+

Letters

+ {% if current_service.can_send_letters %} +

+ Your service can send letters. +

+

+ If you want to stop your sending from sending letters, + get in touch with the GOV.UK Notify team. +

+ {% else %} +

+ Using GOV.UK Notify to send letters is an invitation‑only feature. +

+

+ If you want to try it out, + get in touch with the GOV.UK Notify team. +

+ {% endif %} + {{ 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 e55d5b9c5..9ac91dddd 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -9,6 +9,7 @@ from werkzeug.exceptions import InternalServerError import app from app.utils import email_safe from tests import validate_route_permission, service_json +from tests.app.test_utils import normalize_spaces from tests.conftest import active_user_with_permissions, platform_admin_user @@ -20,6 +21,7 @@ from tests.conftest import active_user_with_permissions, platform_admin_user 'Email reply to address None Change', 'Text message sender 40604 Change', 'International text messages Off Change', + 'Letters Off Change', ]), (platform_admin_user, [ 'Label Value Action', @@ -27,6 +29,7 @@ from tests.conftest import active_user_with_permissions, platform_admin_user 'Email reply to address None Change', 'Text message sender 40604 Change', 'International text messages Off Change', + 'Letters Off Change', 'Label Value Action', 'Email branding GOV.UK Change', 'Letter branding HM Government Change', @@ -73,6 +76,7 @@ def test_should_show_overview_for_service_with_more_things_set( 'Email reply to address test@example.com Change', 'Text message sender elevenchars Change', 'International text messages Off Change', + 'Letters Off Change', ]): assert row == " ".join(page.find_all('tr')[index + 1].text.split()) @@ -100,7 +104,7 @@ def test_letter_contact_block_shows_none_if_not_set( )) page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') - div = page.find_all('tr')[5].find_all('td')[1].div + div = page.find_all('tr')[6].find_all('td')[1].div assert div.text.strip() == 'None' assert 'default' in div.attrs['class'][0] @@ -118,7 +122,7 @@ def test_escapes_letter_contact_block( )) page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') - div = str(page.find_all('tr')[5].find_all('td')[1].div) + div = str(page.find_all('tr')[6].find_all('td')[1].div) assert 'foo
bar' in div assert '