mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-05-26 08:09:51 -04:00
Put upload letters button on jobs page
This is going to become the one true ‘Uploads’ page, so it need the sticky footer that takes users into the new upload letters journey.
This commit is contained in:
@@ -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}
|
||||
|
||||
@@ -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 %}
|
||||
<li><a href="{{ url_for('main.uploads', service_id=current_service.id) }}" {{ main_navigation.is_selected('uploads') }}>Uploads</a></li>
|
||||
{% endif %}
|
||||
<li><a href="{{ url_for('.manage_users', service_id=current_service.id) }}" {{ main_navigation.is_selected('team-members') }}>Team members</a></li>
|
||||
|
||||
@@ -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() %}
|
||||
<div class="file-list">
|
||||
|
||||
@@ -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') %}
|
||||
<div class="js-stick-at-bottom-when-scrolling">
|
||||
<a href="{{ url_for('.upload_letter', service_id=current_service.id) }}" class="button-secondary" role="button">Upload a letter</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user