diff --git a/app/main/forms.py b/app/main/forms.py index 737a5b003..79353ff11 100644 --- a/app/main/forms.py +++ b/app/main/forms.py @@ -684,9 +684,9 @@ class ServiceSwitchLettersForm(StripWhitespaceForm): ) -class ServiceLetterClassForm(StripWhitespaceForm): +class ServicePostageForm(StripWhitespaceForm): - letter_class = RadioField( + postage = RadioField( 'Choose your postage', choices=[ ('first', 'First class only'), diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index e37f61819..d25160b6d 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -42,8 +42,8 @@ from app.main.forms import ( ServiceDataRetentionForm, ServiceEditInboundNumberForm, ServiceInboundNumberForm, - ServiceLetterClassForm, ServiceLetterContactBlockForm, + ServicePostageForm, ServicePreviewBranding, ServiceReplyToEmailForm, ServiceSetBranding, @@ -650,17 +650,17 @@ def service_set_letters(service_id): ) -@main.route("/services//service-settings/set-letter-class", methods=['GET', 'POST']) +@main.route("/services//service-settings/set-postage", methods=['GET', 'POST']) @login_required @user_is_platform_admin -def service_set_letter_class(service_id): - form = ServiceLetterClassForm(letter_class=current_service.letter_class) +def service_set_postage(service_id): + form = ServicePostageForm(postage=current_service.postage) if form.validate_on_submit(): - service_api_client.update_service(service_id, letter_class=form.letter_class.data) + service_api_client.update_service(service_id, postage=form.postage.data) return redirect(url_for(".service_settings", service_id=service_id)) - return render_template('views/service-settings/set-letter-class.html', form=form) + return render_template('views/service-settings/set-postage.html', form=form) @main.route("/services//service-settings/set-auth-type", methods=['GET']) diff --git a/app/navigation.py b/app/navigation.py index 929913898..36a126478 100644 --- a/app/navigation.py +++ b/app/navigation.py @@ -228,9 +228,9 @@ class HeaderNavigation(Navigation): 'service_set_inbound_number', 'service_set_inbound_sms', 'service_set_international_sms', - 'service_set_letter_class', 'service_set_letter_contact_block', 'service_set_letters', + 'service_set_postage', 'service_set_reply_to_email', 'service_set_sms', 'service_set_sms_prefix', @@ -351,9 +351,9 @@ class MainNavigation(Navigation): 'service_set_inbound_number', 'service_set_inbound_sms', 'service_set_international_sms', - 'service_set_letter_class', 'service_set_letter_contact_block', 'service_set_letters', + 'service_set_postage', 'service_set_reply_to_email', 'service_set_sms', 'service_set_sms_prefix', @@ -677,9 +677,9 @@ class CaseworkNavigation(Navigation): 'service_set_inbound_number', 'service_set_inbound_sms', 'service_set_international_sms', - 'service_set_letter_class', 'service_set_letter_contact_block', 'service_set_letters', + 'service_set_postage', 'service_set_reply_to_email', 'service_set_sms', 'service_set_sms_prefix', @@ -906,9 +906,9 @@ class OrgNavigation(Navigation): 'service_set_inbound_number', 'service_set_inbound_sms', 'service_set_international_sms', - 'service_set_letter_class', 'service_set_letter_contact_block', 'service_set_letters', + 'service_set_postage', 'service_set_reply_to_email', 'service_set_sms', 'service_set_sms_prefix', diff --git a/app/notify_client/models.py b/app/notify_client/models.py index 6b140b641..03a97851c 100644 --- a/app/notify_client/models.py +++ b/app/notify_client/models.py @@ -275,12 +275,12 @@ class Service(dict): 'email_from', 'id', 'inbound_api', - 'letter_class', 'letter_contact_block', 'message_limit', 'name', 'organisation_type', 'permissions', + 'postage', 'prefix_sms', 'research_mode', 'service_callback_api', diff --git a/app/notify_client/service_api_client.py b/app/notify_client/service_api_client.py index 9dfafa075..26a1fe79f 100644 --- a/app/notify_client/service_api_client.py +++ b/app/notify_client/service_api_client.py @@ -81,7 +81,6 @@ class ServiceAPIClient(NotifyAdminAPIClient): 'created_by', 'branding', 'email_branding', - 'letter_class', 'letter_contact_block', 'dvla_organisation', 'permissions', @@ -89,6 +88,7 @@ class ServiceAPIClient(NotifyAdminAPIClient): 'free_sms_fragment_limit', 'prefix_sms', 'contact_link', + 'postage', } if disallowed_attributes: raise TypeError('Not allowed to update service attributes: {}'.format( diff --git a/app/templates/views/service-settings.html b/app/templates/views/service-settings.html index 7cf86de11..0314769af 100644 --- a/app/templates/views/service-settings.html +++ b/app/templates/views/service-settings.html @@ -238,11 +238,11 @@ {% if current_user.platform_admin %} {% call row() %} {{ text_field('Postage') }} - {% set letter_class = {'first': 'First class only', 'second': 'Second class only'} %} - {{ text_field(letter_class[current_service.letter_class]) }} + {% set postage = {'first': 'First class only', 'second': 'Second class only'} %} + {{ text_field(postage[current_service.postage]) }} {{ edit_field( 'Change', - url_for('.service_set_letter_class', + url_for('.service_set_postage', service_id=current_service.id), permissions=['manage_service'] ) diff --git a/app/templates/views/service-settings/set-letter-class.html b/app/templates/views/service-settings/set-postage.html similarity index 96% rename from app/templates/views/service-settings/set-letter-class.html rename to app/templates/views/service-settings/set-postage.html index 6336ddf59..7da5fc34d 100644 --- a/app/templates/views/service-settings/set-letter-class.html +++ b/app/templates/views/service-settings/set-postage.html @@ -26,7 +26,7 @@ Royal Mail delivers from Monday to Saturday, excluding bank holidays.

- {{ radios(form.letter_class) }} + {{ radios(form.postage) }} {{ page_footer( 'Save', back_link=url_for('.service_settings', service_id=current_service.id), diff --git a/tests/__init__.py b/tests/__init__.py index e7738bf4a..6f412363e 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -139,7 +139,6 @@ def service_json( email_branding=None, branding='govuk', created_at=None, - letter_class='second', letter_contact_block=None, inbound_api=None, service_callback_api=None, @@ -147,6 +146,7 @@ def service_json( organisation_type='central', prefix_sms=True, contact_link=None, + postage='second', ): if users is None: users = [] @@ -169,13 +169,13 @@ def service_json( 'email_branding': email_branding, 'branding': branding, 'created_at': created_at or str(datetime.utcnow()), - 'letter_class': letter_class, 'letter_contact_block': letter_contact_block, 'dvla_organisation': '001', 'permissions': permissions, 'inbound_api': inbound_api, 'service_callback_api': service_callback_api, 'prefix_sms': prefix_sms, + 'postage': postage, } diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py index 4369a8c4d..cab7f38e8 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -1850,36 +1850,36 @@ def test_set_letter_branding_saves( mock_update_service.assert_called_once_with(service_one['id'], dvla_organisation='500') -def test_set_letter_class_platform_admin_only( +def test_set_postage_platform_admin_only( logged_in_client, service_one, ): - response = logged_in_client.get(url_for('main.service_set_letter_class', service_id=SERVICE_ONE_ID)) + response = logged_in_client.get(url_for('main.service_set_postage', service_id=SERVICE_ONE_ID)) assert response.status_code == 403 -def test_set_letter_class_prepopulates( +def test_set_postage_prepopulates( logged_in_platform_admin_client, service_one, ): - response = logged_in_platform_admin_client.get(url_for('main.service_set_letter_class', service_id=SERVICE_ONE_ID)) + response = logged_in_platform_admin_client.get(url_for('main.service_set_postage', service_id=SERVICE_ONE_ID)) assert response.status_code == 200 page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') assert page.select('input[checked]')[0]['value'] == 'second' -def test_set_letter_class_saves( +def test_set_postage_saves( logged_in_platform_admin_client, service_one, mock_update_service, ): response = logged_in_platform_admin_client.post( - url_for('main.service_set_letter_class', service_id=SERVICE_ONE_ID), - data={'letter_class': 'first'} + url_for('main.service_set_postage', service_id=SERVICE_ONE_ID), + data={'postage': 'first'} ) assert response.status_code == 302 assert response.location == url_for('main.service_settings', service_id=SERVICE_ONE_ID, _external=True) - mock_update_service.assert_called_once_with(SERVICE_ONE_ID, letter_class='first') + mock_update_service.assert_called_once_with(SERVICE_ONE_ID, postage='first') @pytest.mark.parametrize('current_branding, expected_values, expected_labels', [