Add a dashboard for broadcast services

This is just a placeholder for now
This commit is contained in:
Chris Hill-Scott
2020-07-08 11:34:16 +01:00
parent 255be194a6
commit 6ec9a25dd1
5 changed files with 45 additions and 1 deletions

View File

@@ -8,6 +8,15 @@ from app.main.forms import BroadcastAreaForm, SearchByNameForm
from app.utils import service_has_permission, user_has_permissions
@main.route('/services/<uuid:service_id>/broadcast-dashboard')
@user_has_permissions()
@service_has_permission('broadcast')
def broadcast_dashboard(service_id):
return render_template(
'views/broadcast/dashboard.html',
)
@main.route('/services/<uuid:service_id>/broadcast')
@user_has_permissions('send_messages')
@service_has_permission('broadcast')

View File

@@ -351,6 +351,7 @@ class HeaderNavigation(Navigation):
'old_guest_list',
'who_can_use_notify',
'who_its_for',
'broadcast_dashboard',
'broadcast',
'preview_broadcast_areas',
'choose_broadcast_library',
@@ -368,6 +369,7 @@ class MainNavigation(Navigation):
mapping = {
'dashboard': {
'broadcast_dashboard',
'conversation',
'inbox',
'monthly',
@@ -687,6 +689,9 @@ class MainNavigation(Navigation):
class CaseworkNavigation(Navigation):
mapping = {
'dashboard': {
'broadcast_dashboard',
},
'send-one-off': {
'choose_from_contact_list',
'choose_template',
@@ -1306,6 +1311,7 @@ class OrgNavigation(Navigation):
'old_guest_list',
'who_can_use_notify',
'who_its_for',
'broadcast_dashboard',
'broadcast',
'preview_broadcast_areas',
'choose_broadcast_library',

View File

@@ -4,7 +4,9 @@
<nav class="navigation">
<ul>
{% if current_user.has_permissions() %}
{% if current_user.has_permissions('view_activity') %}
{% if current_service.has_permission('broadcast') %}
<li><a class="govuk-link govuk-link--no-visited-state{{ main_navigation.is_selected('dashboard') }}" href="{{ url_for('.broadcast_dashboard', service_id=current_service.id) }}">Dashboard</a></li>
{% elif current_user.has_permissions('view_activity') %}
<li><a class="govuk-link govuk-link--no-visited-state{{ main_navigation.is_selected('dashboard') }}" href="{{ url_for('.service_dashboard', service_id=current_service.id) }}">Dashboard</a></li>
{% endif %}
<li><a class="govuk-link govuk-link--no-visited-state{{ main_navigation.is_selected('templates') }}" href="{{ url_for('.choose_template', service_id=current_service.id) }}">Templates</a></li>

View File

@@ -0,0 +1,15 @@
{% extends "withnav_template.html" %}
{% block service_page_title %}
Dashboard
{% endblock %}
{% block maincolumn_content %}
<h1 class="govuk-visually-hidden">Dashboard</h1>
<p class="govuk-body">
Broadcasts here
</p>
{% endblock %}

View File

@@ -5,6 +5,7 @@ from tests.conftest import SERVICE_ONE_ID
@pytest.mark.parametrize('endpoint, extra_args', (
('.broadcast_dashboard', {}),
('.broadcast', {}),
('.preview_broadcast_areas', {}),
('.choose_broadcast_library', {}),
@@ -25,6 +26,17 @@ def test_broadcast_pages_403_without_permission(
)
def test_broadcast_dashboard(
client_request,
service_one,
):
service_one['permissions'] += ['broadcast']
client_request.get(
'.broadcast_dashboard',
service_id=SERVICE_ONE_ID,
),
def test_broadcast_page(
client_request,
service_one,