From 24bafba29c15f5eb5364c7ff639c0f7cbe3b664e Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Mon, 26 Oct 2020 11:18:30 +0000 Subject: [PATCH] Combine current and pending broadcasts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Splitting the dashboard into multiple sections was confusing, and people sometimes mistook the headings as labels, especially when a section was empty. It just wasn’t clear what the hierarchy of the page was. This commit combines the current and pending broadcasts into one list on the dashboard. Previous broadcasts have already moved to their own page. --- app/main/views/broadcast.py | 12 +++------ app/templates/views/broadcast/dashboard.html | 16 +++-------- tests/app/main/views/test_broadcast.py | 28 ++++++-------------- 3 files changed, 14 insertions(+), 42 deletions(-) diff --git a/app/main/views/broadcast.py b/app/main/views/broadcast.py index 109b79175..51baa5457 100644 --- a/app/main/views/broadcast.py +++ b/app/main/views/broadcast.py @@ -62,16 +62,10 @@ def broadcast_dashboard_updates(service_id): def get_broadcast_dashboard_partials(service_id): broadcast_messages = BroadcastMessages(service_id) return dict( - pending_approval_broadcasts=render_template( + current_broadcasts=render_template( 'views/broadcast/partials/dashboard-table.html', - broadcasts=broadcast_messages.with_status('pending-approval'), - empty_message='You do not have any alerts waiting for approval', - view_broadcast_endpoint='.view_current_broadcast', - ), - live_broadcasts=render_template( - 'views/broadcast/partials/dashboard-table.html', - broadcasts=broadcast_messages.with_status('broadcasting'), - empty_message='You do not have any live alerts at the moment', + broadcasts=broadcast_messages.with_status('pending-approval', 'broadcasting'), + empty_message='You do not have any current alerts', view_broadcast_endpoint='.view_current_broadcast', ), ) diff --git a/app/templates/views/broadcast/dashboard.html b/app/templates/views/broadcast/dashboard.html index 465624a77..3b0fe41f7 100644 --- a/app/templates/views/broadcast/dashboard.html +++ b/app/templates/views/broadcast/dashboard.html @@ -3,13 +3,11 @@ {% extends "withnav_template.html" %} {% block service_page_title %} - Dashboard + Current alerts {% endblock %} {% block maincolumn_content %} -

Dashboard

- {% if current_user.has_permissions('manage_templates') and not current_service.all_templates %} {% endif %} -

Live alerts

+

Current alerts

{{ ajax_block( partials, url_for('.broadcast_dashboard_updates', service_id=current_service.id), - 'live_broadcasts' - ) }} - -

Waiting for approval

- - {{ ajax_block( - partials, - url_for('.broadcast_dashboard_updates', service_id=current_service.id), - 'pending_approval_broadcasts' + 'current_broadcasts' ) }} {% endblock %} diff --git a/tests/app/main/views/test_broadcast.py b/tests/app/main/views/test_broadcast.py index 5f69113c4..5f80683c5 100644 --- a/tests/app/main/views/test_broadcast.py +++ b/tests/app/main/views/test_broadcast.py @@ -277,11 +277,13 @@ def test_empty_broadcast_dashboard( '.broadcast_dashboard', service_id=SERVICE_ONE_ID, ) + assert normalize_spaces(page.select_one('h1').text) == ( + 'Current alerts' + ) assert [ normalize_spaces(row.text) for row in page.select('tbody tr .table-empty-message') ] == [ - 'You do not have any live alerts at the moment', - 'You do not have any alerts waiting for approval', + 'You do not have any current alerts', ] @@ -298,23 +300,12 @@ def test_broadcast_dashboard( service_id=SERVICE_ONE_ID, ) - assert len(page.select('table')) == len(page.select('main h2')) == 2 + assert len(page.select('table')) == len(page.select('h1')) == 1 - assert normalize_spaces(page.select('main h2')[0].text) == ( - 'Live alerts' - ) assert [ normalize_spaces(row.text) for row in page.select('table')[0].select('tbody tr') ] == [ 'Example template This is a test England Scotland Live since today at 2:20am', - ] - - assert normalize_spaces(page.select('main h2')[1].text) == ( - 'Waiting for approval' - ) - assert [ - normalize_spaces(row.text) for row in page.select('table')[1].select('tbody tr') - ] == [ 'Example template This is a test England Scotland Prepared by Test User', ] @@ -336,13 +327,10 @@ def test_broadcast_dashboard_json( json_response = json.loads(response.get_data(as_text=True)) - assert json_response.keys() == { - 'pending_approval_broadcasts', - 'live_broadcasts', - } + assert json_response.keys() == {'current_broadcasts'} - assert 'Prepared by Test User' in json_response['pending_approval_broadcasts'] - assert 'Live since today at 2:20am' in json_response['live_broadcasts'] + assert 'Prepared by Test User' in json_response['current_broadcasts'] + assert 'Live since today at 2:20am' in json_response['current_broadcasts'] @freeze_time('2020-02-20 02:20')