diff --git a/app/main/views/templates.py b/app/main/views/templates.py
index 7a5923e13..3a62d61fb 100644
--- a/app/main/views/templates.py
+++ b/app/main/views/templates.py
@@ -74,6 +74,7 @@ def view_template(service_id, template_id):
),
template_postage=template["postage"],
user_has_template_permission=user_has_template_permission,
+ page_count=get_page_count_for_letter(template),
)
diff --git a/app/templates/views/templates/_template.html b/app/templates/views/templates/_template.html
index a6d907a23..c46259faa 100644
--- a/app/templates/views/templates/_template.html
+++ b/app/templates/views/templates/_template.html
@@ -15,7 +15,7 @@
{% if template.template_type == 'letter' %}
- {% if current_user.has_permissions('send_messages', restrict_admin_usage=True) %}
+ {% if current_user.has_permissions('send_messages', restrict_admin_usage=True) and page_count < 11 %}
Send
diff --git a/tests/app/main/views/test_templates.py b/tests/app/main/views/test_templates.py
index b9e0c041e..b6b2ceb52 100644
--- a/tests/app/main/views/test_templates.py
+++ b/tests/app/main/views/test_templates.py
@@ -521,6 +521,30 @@ def test_view_non_letter_template_does_not_display_postage(
assert "Postage" not in page.text
+def test_view_letter_template_does_not_display_send_button_if_template_over_10_pages_long(
+ client_request,
+ service_one,
+ mock_get_service_templates,
+ mock_get_template_folders,
+ single_letter_contact_block,
+ mock_has_jobs,
+ active_user_with_permissions,
+ mocker,
+ fake_uuid,
+):
+ mocker.patch('app.main.views.templates.get_page_count_for_letter', return_value=11)
+ client_request.login(active_user_with_permissions)
+ mock_get_service_letter_template(mocker, postage="second")
+ page = client_request.get(
+ 'main.view_template',
+ service_id=SERVICE_ONE_ID,
+ template_id=fake_uuid,
+ _test_page_title=False,
+ )
+
+ assert "Send" not in page.text
+
+
def test_edit_letter_template_postage_page_displays_correctly(
client_request,
service_one,