diff --git a/app/templates/views/service-settings.html b/app/templates/views/service-settings.html
index 3b6a6cc7e..9899de72c 100644
--- a/app/templates/views/service-settings.html
+++ b/app/templates/views/service-settings.html
@@ -47,203 +47,206 @@
{% endcall %}
{% endcall %}
- {% call mapping_table(
- caption='Email settings',
- field_headings=['Label', 'Value', 'Action'],
- field_headings_visible=False,
- caption_visible=True
- ) %}
+ {% if not current_service.has_permission('broadcast') %}
+
+ {% call mapping_table(
+ caption='Email settings',
+ field_headings=['Label', 'Value', 'Action'],
+ field_headings_visible=False,
+ caption_visible=True
+ ) %}
+
+ {% call row() %}
+ {{ text_field('Send emails') }}
+ {{ boolean_field('email' in current_service.permissions) }}
+ {{ edit_field(
+ 'Change',
+ url_for(
+ '.service_set_channel',
+ channel='email',
+ service_id=current_service.id
+ ),
+ permissions=['manage_service']
+ )}}
+ {% endcall %}
+
+ {% call settings_row(if_has_permission='email') %}
+ {{ text_field('Reply-to email addresses') }}
+ {% call field(status='default' if current_service.count_email_reply_to_addresses == 0 else '') %}
+ {{ current_service.default_email_reply_to_address or 'Not set' }}
+ {% if current_service.count_email_reply_to_addresses > 1 %}
+
+ {{ '…and %d more' | format(current_service.count_email_reply_to_addresses - 1) }}
+
+ {% endif %}
+ {% endcall %}
+ {{ edit_field(
+ 'Manage',
+ url_for('.service_email_reply_to',
+ service_id=current_service.id),
+ permissions=['manage_service','manage_api_keys']
+ )
+ }}
+ {% endcall %}
+
+ {% call settings_row(if_has_permission='email') %}
+ {{ text_field('Email branding') }}
+ {{ text_field(current_service.email_branding_name) }}
+ {{ edit_field(
+ 'Change',
+ url_for('.branding_request', service_id=current_service.id, branding_type="email"),
+ permissions=['manage_service'],
+ )}}
+ {% endcall %}
+
+ {% call settings_row(if_has_permission='email') %}
+ {{ text_field('Send files by email') }}
+ {{ text_field(current_service.contact_link if current_service.contact_link else "Not set up", truncate=true) }}
+ {{ edit_field(
+ 'Manage',
+ url_for('.send_files_by_email_contact_details', service_id=current_service.id),
+ permissions=['manage_service'],
+ )}}
+ {% endcall %}
- {% call row() %}
- {{ text_field('Send emails') }}
- {{ boolean_field('email' in current_service.permissions) }}
- {{ edit_field(
- 'Change',
- url_for(
- '.service_set_channel',
- channel='email',
- service_id=current_service.id
- ),
- permissions=['manage_service']
- )}}
{% endcall %}
- {% call settings_row(if_has_permission='email') %}
- {{ text_field('Reply-to email addresses') }}
- {% call field(status='default' if current_service.count_email_reply_to_addresses == 0 else '') %}
- {{ current_service.default_email_reply_to_address or 'Not set' }}
- {% if current_service.count_email_reply_to_addresses > 1 %}
-
- {{ '…and %d more' | format(current_service.count_email_reply_to_addresses - 1) }}
-
- {% endif %}
+ {% call mapping_table(
+ caption='Text message settings',
+ field_headings=['Label', 'Value', 'Action'],
+ field_headings_visible=False,
+ caption_visible=True
+ ) %}
+
+ {% call row() %}
+ {{ text_field('Send text messages') }}
+ {{ boolean_field('sms' in current_service.permissions) }}
+ {{ edit_field(
+ 'Change',
+ url_for(
+ '.service_set_channel',
+ service_id=current_service.id,
+ channel='sms'
+ ),
+ permissions=['manage_service']
+ )}}
{% endcall %}
- {{ edit_field(
- 'Manage',
- url_for('.service_email_reply_to',
- service_id=current_service.id),
- permissions=['manage_service','manage_api_keys']
+
+ {% call settings_row(if_has_permission='sms') %}
+ {{ text_field('Text message senders') }}
+ {% call field(status='default' if current_service.default_sms_sender == "None" else '') %}
+ {{ current_service.default_sms_sender | nl2br if current_service.default_sms_sender else 'None'}}
+ {% if current_service.count_sms_senders > 1 %}
+
+ {{ '…and %d more' | format(current_service.count_sms_senders - 1) }}
+
+ {% endif %}
+ {% endcall %}
+ {{ edit_field(
+ 'Manage',
+ url_for('.service_sms_senders',
+ service_id=current_service.id),
+ permissions=['manage_service','manage_api_keys']
)
- }}
- {% endcall %}
-
- {% call settings_row(if_has_permission='email') %}
- {{ text_field('Email branding') }}
- {{ text_field(current_service.email_branding_name) }}
- {{ edit_field(
- 'Change',
- url_for('.branding_request', service_id=current_service.id, branding_type="email"),
- permissions=['manage_service'],
- )}}
- {% endcall %}
-
- {% call settings_row(if_has_permission='email') %}
- {{ text_field('Send files by email') }}
- {{ text_field(current_service.contact_link if current_service.contact_link else "Not set up", truncate=true) }}
- {{ edit_field(
- 'Manage',
- url_for('.send_files_by_email_contact_details', service_id=current_service.id),
- permissions=['manage_service'],
- )}}
- {% endcall %}
-
- {% endcall %}
-
- {% call mapping_table(
- caption='Text message settings',
- field_headings=['Label', 'Value', 'Action'],
- field_headings_visible=False,
- caption_visible=True
- ) %}
-
- {% call row() %}
- {{ text_field('Send text messages') }}
- {{ boolean_field('sms' in current_service.permissions) }}
- {{ edit_field(
- 'Change',
- url_for(
- '.service_set_channel',
- service_id=current_service.id,
- channel='sms'
- ),
- permissions=['manage_service']
- )}}
- {% endcall %}
-
- {% call settings_row(if_has_permission='sms') %}
- {{ text_field('Text message senders') }}
- {% call field(status='default' if current_service.default_sms_sender == "None" else '') %}
- {{ current_service.default_sms_sender | nl2br if current_service.default_sms_sender else 'None'}}
- {% if current_service.count_sms_senders > 1 %}
-
- {{ '…and %d more' | format(current_service.count_sms_senders - 1) }}
-
- {% endif %}
+ }}
{% endcall %}
- {{ edit_field(
- 'Manage',
- url_for('.service_sms_senders',
- service_id=current_service.id),
- permissions=['manage_service','manage_api_keys']
- )
- }}
- {% endcall %}
- {% call settings_row(if_has_permission='sms') %}
- {{ text_field('Start text messages with service name') }}
- {{ boolean_field(current_service.prefix_sms) }}
- {{ edit_field(
- 'Change',
- url_for('.service_set_sms_prefix',
- service_id=current_service.id),
- permissions=['manage_service']
- )
- }}
- {% endcall %}
-
- {% call settings_row(if_has_permission='sms') %}
- {{ text_field('Send international text messages') }}
- {{ boolean_field('international_sms' in current_service.permissions) }}
- {{ edit_field(
- 'Change',
- url_for('.service_set_international_sms',
- service_id=current_service.id),
- permissions=['manage_service']
- )
- }}
- {% endcall %}
-
- {% call settings_row(if_has_permission='sms') %}
- {{ text_field('Receive text messages') }}
- {{ boolean_field('inbound_sms' in current_service.permissions) }}
- {{ edit_field(
- 'Change',
- url_for('.service_set_inbound_sms',
- service_id=current_service.id),
- permissions=['manage_service']
- )
- }}
- {% endcall %}
-
- {% endcall %}
-
- {% call mapping_table(
- caption='Letter settings',
- field_headings=['Label', 'Value', 'Action'],
- field_headings_visible=False,
- caption_visible=True
- ) %}
-
- {% call row() %}
- {{ text_field('Send letters') }}
- {{ boolean_field('letter' in current_service.permissions) }}
- {{ edit_field(
- 'Change',
- url_for(
- '.service_set_channel',
- channel='letter',
- service_id=current_service.id
- ),
- permissions=['manage_service']
- )}}
- {% endcall %}
-
- {% call settings_row(if_has_permission='letter') %}
- {{ text_field('Sender addresses') }}
- {% call field(status='' if current_service.count_letter_contact_details else 'default') %}
- {% if current_service.default_letter_contact_block %}
- {{ current_service.default_letter_contact_block_html }}
- {% elif current_service.count_letter_contact_details %}
- Blank
- {% else %}
- Not set
- {% endif %}
- {% if current_service.count_letter_contact_details > 1 %}
-
- {{ '…and %d more' | format(current_service.count_letter_contact_details - 1) }}
-
- {% endif %}
+ {% call settings_row(if_has_permission='sms') %}
+ {{ text_field('Start text messages with service name') }}
+ {{ boolean_field(current_service.prefix_sms) }}
+ {{ edit_field(
+ 'Change',
+ url_for('.service_set_sms_prefix',
+ service_id=current_service.id),
+ permissions=['manage_service']
+ )
+ }}
{% endcall %}
- {{ edit_field(
- 'Manage',
- url_for('.service_letter_contact_details',
- service_id=current_service.id),
- permissions=['manage_service','manage_api_keys']
- )
- }}
+
+ {% call settings_row(if_has_permission='sms') %}
+ {{ text_field('Send international text messages') }}
+ {{ boolean_field('international_sms' in current_service.permissions) }}
+ {{ edit_field(
+ 'Change',
+ url_for('.service_set_international_sms',
+ service_id=current_service.id),
+ permissions=['manage_service']
+ )
+ }}
+ {% endcall %}
+
+ {% call settings_row(if_has_permission='sms') %}
+ {{ text_field('Receive text messages') }}
+ {{ boolean_field('inbound_sms' in current_service.permissions) }}
+ {{ edit_field(
+ 'Change',
+ url_for('.service_set_inbound_sms',
+ service_id=current_service.id),
+ permissions=['manage_service']
+ )
+ }}
+ {% endcall %}
+
{% endcall %}
- {% call settings_row(if_has_permission='letter') %}
- {{ text_field('Letter branding') }}
- {{ optional_text_field(current_service.letter_branding.name) }}
- {{ edit_field(
- 'Change',
- url_for('.branding_request', service_id=current_service.id, branding_type="letter"),
- permissions=['manage_service']
- )}}
- {% endcall %}
+ {% call mapping_table(
+ caption='Letter settings',
+ field_headings=['Label', 'Value', 'Action'],
+ field_headings_visible=False,
+ caption_visible=True
+ ) %}
- {% endcall %}
+ {% call row() %}
+ {{ text_field('Send letters') }}
+ {{ boolean_field('letter' in current_service.permissions) }}
+ {{ edit_field(
+ 'Change',
+ url_for(
+ '.service_set_channel',
+ channel='letter',
+ service_id=current_service.id
+ ),
+ permissions=['manage_service']
+ )}}
+ {% endcall %}
+
+ {% call settings_row(if_has_permission='letter') %}
+ {{ text_field('Sender addresses') }}
+ {% call field(status='' if current_service.count_letter_contact_details else 'default') %}
+ {% if current_service.default_letter_contact_block %}
+ {{ current_service.default_letter_contact_block_html }}
+ {% elif current_service.count_letter_contact_details %}
+ Blank
+ {% else %}
+ Not set
+ {% endif %}
+ {% if current_service.count_letter_contact_details > 1 %}
+
+ {{ '…and %d more' | format(current_service.count_letter_contact_details - 1) }}
+
+ {% endif %}
+ {% endcall %}
+ {{ edit_field(
+ 'Manage',
+ url_for('.service_letter_contact_details',
+ service_id=current_service.id),
+ permissions=['manage_service','manage_api_keys']
+ )
+ }}
+ {% endcall %}
+
+ {% call settings_row(if_has_permission='letter') %}
+ {{ text_field('Letter branding') }}
+ {{ optional_text_field(current_service.letter_branding.name) }}
+ {{ edit_field(
+ 'Change',
+ url_for('.branding_request', service_id=current_service.id, branding_type="letter"),
+ permissions=['manage_service']
+ )}}
+ {% endcall %}
+
+ {% endcall %}
+ {% endif %}
{% if current_service.trial_mode %}
diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py
index 9fc755635..c5f4bb4a2 100644
--- a/tests/app/main/views/test_service_settings.py
+++ b/tests/app/main/views/test_service_settings.py
@@ -289,6 +289,12 @@ def test_send_files_by_email_row_on_settings_page(
'Letter branding Not set Change',
]),
+ (['broadcast'], [
+
+ 'Service name service one Change',
+ 'Sign-in method Text message code Change',
+
+ ]),
])
def test_should_show_overview_for_service_with_more_things_set(
client,