Add a page to view a single broadcast

This commit adds a page to view a single broadcast. This is important
for two reasons:
- users need an audit of what happened when, and who else was involved
  in approving or cancelling a broadcast
- we need a place to put actions (approving, cancelling) on a broadcast
  so that you can confirm details of the message and the areas before
  performing the action
This commit is contained in:
Chris Hill-Scott
2020-07-10 14:06:00 +01:00
parent 1a79a037f6
commit 7d6dffc098
8 changed files with 215 additions and 6 deletions

View File

@@ -17,7 +17,7 @@
) %}
{% call row_heading() %}
<div class="file-list">
<a class="file-list-filename-large govuk-link govuk-link--no-visited-state" href="#">{{ item.template_name }}</a>
<a class="file-list-filename-large govuk-link govuk-link--no-visited-state" href="{{ url_for('.view_broadcast_message', service_id=current_service.id, broadcast_message_id=item.id) }}">{{ item.template_name }}</a>
<span class="file-list-hint-large">
To {{ item.initial_area_names|formatted_list(before_each='', after_each='') }}
</span>

View File

@@ -0,0 +1,54 @@
{% from "components/button/macro.njk" import govukButton %}
{% from "components/form.html" import form_wrapper %}
{% from "components/page-header.html" import page_header %}
{% from "components/page-footer.html" import sticky_page_footer %}
{% extends "withnav_template.html" %}
{% block service_page_title %}
{{ broadcast_message.template_name }}
{% endblock %}
{% block maincolumn_content %}
{{ page_header(
broadcast_message.template_name,
back_link=url_for('.broadcast_dashboard', service_id=current_service.id)
) }}
<p class="govuk-body govuk-!-margin-bottom-3">
Created by {{ broadcast_message.created_by.name }} and approved by
{{ broadcast_message.approved_by.name }}.
</p>
<p class="govuk-body govuk-!-margin-bottom-3">
Started broadcasting
{{ broadcast_message.starts_at|format_datetime_human }}.
</p>
<p class="govuk-body">
{% if broadcast_message.status == 'broadcasting' %}
Live until {{ broadcast_message.finishes_at|format_datetime_relative }}&ensp;<a href="{{ url_for('.cancel_broadcast_message', service_id=current_service.id, broadcast_message_id=broadcast_message.id) }}" class="destructive-link destructive-link--no-visited-state">Stop broadcast early</a>
{% elif broadcast_message.status == 'cancelled' %}
Stopped by {{ broadcast_message.cancelled_by.name }}
{{ broadcast_message.cancelled_at|format_datetime_human }}.
{% else %}
Finished broadcasting {{ broadcast_message.finishes_at|format_datetime_human }}.
{% endif %}
</p>
{% for area in broadcast_message.areas %}
{% if loop.first %}
<ul class="area-list">
{% endif %}
<li class="area-list-item area-list-item--unremoveable">
{{ area.name }}
</li>
{% if loop.last %}
</ul>
{% endif %}
{% endfor %}
{{ broadcast_message.template|string }}
{% endblock %}