diff --git a/app/templates/views/jobs/jobs.html b/app/templates/views/jobs/jobs.html
index 347ac2a6d..3516c2daf 100644
--- a/app/templates/views/jobs/jobs.html
+++ b/app/templates/views/jobs/jobs.html
@@ -31,7 +31,10 @@
{% endif %}
{{ previous_next_navigation(prev_page, next_page) }}
- {% if current_service.can_upload_letters and current_user.has_permissions('send_messages') %}
+ {% if (
+ current_service.can_upload_letters and
+ current_user.has_permissions('send_messages')
+ ) or current_user.platform_admin %}
{{ govukButton({
"element": "a",
@@ -39,6 +42,14 @@
"href": url_for('.upload_letter', service_id=current_service.id),
"classes": "govuk-button--secondary"
}) }}
+ {% if current_user.platform_admin %}
+ {{ govukButton({
+ "element": "a",
+ "text": "Upload a contact list",
+ "href": url_for('.upload_contact_list', service_id=current_service.id),
+ "classes": "govuk-button--secondary govuk-!-margin-left-3"
+ }) }}
+ {% endif %}
{% endif %}
diff --git a/tests/app/main/views/test_uploads.py b/tests/app/main/views/test_uploads.py
index ecc739d02..6ee68999e 100644
--- a/tests/app/main/views/test_uploads.py
+++ b/tests/app/main/views/test_uploads.py
@@ -15,6 +15,7 @@ from tests.conftest import (
SERVICE_ONE_ID,
create_active_caseworking_user,
create_active_user_with_permissions,
+ create_platform_admin_user,
)
@@ -39,6 +40,30 @@ def test_no_upload_letters_button_without_permission(
assert not page.find('a', text=re.compile('Upload a letter'))
+@pytest.mark.parametrize('user', (
+ pytest.param(
+ create_platform_admin_user(),
+ ),
+ pytest.param(
+ create_active_user_with_permissions(),
+ marks=pytest.mark.xfail(raises=AssertionError),
+ ),
+))
+def test_platform_admin_has_upload_contact_list(
+ client_request,
+ mock_get_uploads,
+ mock_get_jobs,
+ user,
+):
+ client_request.login(user)
+ page = client_request.get('main.uploads', service_id=SERVICE_ONE_ID)
+ button = page.find('a', text=re.compile('Upload a contact list'))
+ assert button
+ assert button['href'] == url_for(
+ 'main.upload_contact_list', service_id=SERVICE_ONE_ID,
+ )
+
+
@pytest.mark.parametrize('extra_permissions, expected_empty_message', (
(['letter'], (
'You have not uploaded any files recently. '