diff --git a/app/main/views/dashboard.py b/app/main/views/dashboard.py index 2bca2afd8..095582b29 100644 --- a/app/main/views/dashboard.py +++ b/app/main/views/dashboard.py @@ -52,6 +52,9 @@ def service_dashboard(service_id): session.pop('invited_user', None) session['service_id'] = service_id + if current_service.has_permission('broadcast'): + return redirect(url_for('main.broadcast_dashboard', service_id=service_id)) + if not current_user.has_permissions('view_activity'): return redirect(url_for('main.choose_template', service_id=service_id)) diff --git a/tests/app/main/views/test_broadcast.py b/tests/app/main/views/test_broadcast.py index 4deca0eaa..372d45dd9 100644 --- a/tests/app/main/views/test_broadcast.py +++ b/tests/app/main/views/test_broadcast.py @@ -26,6 +26,22 @@ def test_broadcast_pages_403_without_permission( ) +def test_dashboard_redirects_to_broadcast_dashboard( + client_request, + service_one, +): + service_one['permissions'] += ['broadcast'] + client_request.get( + '.service_dashboard', + service_id=SERVICE_ONE_ID, + _expected_redirect=url_for( + '.broadcast_dashboard', + service_id=SERVICE_ONE_ID, + _external=True, + ), + ), + + def test_broadcast_dashboard( client_request, service_one,