diff --git a/app/models/service.py b/app/models/service.py
index 3e3e93fd6..bf989cfeb 100644
--- a/app/models/service.py
+++ b/app/models/service.py
@@ -462,6 +462,10 @@ class Service(JSONModel):
key=lambda folder: folder['name'].lower(),
)
+ @property
+ def can_upload_letters(self):
+ return self.has_permission('letter') and self.has_permission('upload_letters')
+
@cached_property
def all_template_folder_ids(self):
return {folder['id'] for folder in self.all_template_folders}
diff --git a/app/templates/main_nav.html b/app/templates/main_nav.html
index 7f6a1fa55..88c1e4eca 100644
--- a/app/templates/main_nav.html
+++ b/app/templates/main_nav.html
@@ -15,7 +15,7 @@
{% endif %}
{% endif %}
{% endif %}
- {% if current_user.has_permissions('send_messages') and current_service.has_permission('letter') and current_service.has_permission('upload_letters') %}
+ {% if current_user.has_permissions('send_messages') and current_service.can_upload_letters %}
Uploads
{% endif %}
Team members
diff --git a/app/templates/views/dashboard/_jobs.html b/app/templates/views/dashboard/_jobs.html
index 30250b6ce..75a142a76 100644
--- a/app/templates/views/dashboard/_jobs.html
+++ b/app/templates/views/dashboard/_jobs.html
@@ -6,14 +6,16 @@
jobs,
caption="Recent files uploaded",
caption_visible=False,
- empty_message='You have not uploaded any files recently',
+ empty_message=(
+ 'Upload a letter and Notify will print, pack and post it for you.' if current_service.can_upload_letters else 'You have not uploaded any files recently'
+ ),
field_headings=[
'File',
'Sending',
'Delivered',
'Failed'
],
- field_headings_visible=True
+ field_headings_visible=True if jobs else False
) %}
{% call row_heading() %}
diff --git a/app/templates/views/jobs/jobs.html b/app/templates/views/jobs/jobs.html
index 7d9bbba01..928ec0bec 100644
--- a/app/templates/views/jobs/jobs.html
+++ b/app/templates/views/jobs/jobs.html
@@ -11,5 +11,10 @@
{{ scheduled_jobs|safe }}
{% include 'views/dashboard/_jobs.html' %}
{{ previous_next_navigation(prev_page, next_page) }}
+ {% if current_service.can_upload_letters and current_user.has_permissions('send_messages') %}
+
+ {% endif %}
{% endblock %}
diff --git a/tests/app/main/views/test_uploads.py b/tests/app/main/views/test_uploads.py
index 891972037..ab4d355b2 100644
--- a/tests/app/main/views/test_uploads.py
+++ b/tests/app/main/views/test_uploads.py
@@ -8,9 +8,13 @@ from app.utils import normalize_spaces
from tests.conftest import SERVICE_ONE_ID
-def test_get_upload_hub_page(client_request):
+def test_get_upload_hub_page(
+ client_request,
+ service_one,
+ mock_get_jobs,
+):
+ service_one['permissions'] += ['letter', 'upload_letters']
page = client_request.get('main.uploads', service_id=SERVICE_ONE_ID)
-
assert page.find('h1').text == 'Uploads'
assert page.find('a', text='Upload a letter').attrs['href'] == url_for(
'main.upload_letter', service_id=SERVICE_ONE_ID