diff --git a/app/templates/views/service-settings.html b/app/templates/views/service-settings.html index 9e38b0866..494eae496 100644 --- a/app/templates/views/service-settings.html +++ b/app/templates/views/service-settings.html @@ -46,6 +46,20 @@ }} {% endcall %} + {% if 'upload_document' in current_service.permissions %} + {% call row() %} + {{ text_field('Contact link') }} + {{ text_field(current_service.contact_link) }} + {{ edit_field( + 'Change', + url_for('.service_set_contact_link', + service_id=current_service.id), + permissions=['manage_service'] + ) + }} + {% endcall %} + {% endif %} + {% endcall %} {% call mapping_table( diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py index 012b27207..ee2b61af8 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -2204,6 +2204,39 @@ def test_service_set_contact_link_does_not_update_invalid_link( update_mock.assert_not_called() +def test_contact_link_is_displayed_with_upload_document_permission( + logged_in_client, + service_one, + mock_get_service_settings_page_common, + mock_get_service_organisation, + no_reply_to_email_addresses, + no_letter_contact_blocks, + single_sms_sender, +): + service_one['permissions'] = ['upload_document'] + response = logged_in_client.get(url_for('main.service_settings', service_id=service_one['id'])) + page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') + + assert response.status_code == 200 + assert 'Contact link' in page.text + + +def test_contact_link_is_not_displayed_without_the_upload_document_permission( + logged_in_client, + service_one, + mock_get_service_settings_page_common, + mock_get_service_organisation, + no_reply_to_email_addresses, + no_letter_contact_blocks, + single_sms_sender, +): + response = logged_in_client.get(url_for('main.service_settings', service_id=service_one['id'])) + page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') + + assert response.status_code == 200 + assert 'Contact link' not in page.text + + @pytest.mark.parametrize('endpoint, permissions, expected_p', [ ( 'main.service_set_inbound_sms',