Make alert page work for rejected broadcasts

The code for this page was making assumptions about properties which
aren’t present on rejected broadcasts.

This commit accounts for those properties and presents the relevant
elements on the page.
This commit is contained in:
Chris Hill-Scott
2021-04-08 13:34:29 +01:00
parent 9b256de4a9
commit 4da38e42e3
3 changed files with 20 additions and 4 deletions

View File

@@ -158,7 +158,7 @@ class BroadcastMessage(JSONModel):
@cached_property
def approved_by(self):
return User.from_id(self.approved_by_id)
return User.from_id(self.approved_by_id) if self.approved_by_id else None
@cached_property
def cancelled_by(self):

View File

@@ -116,6 +116,11 @@
<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 broadcasting</a>
{% endif %}
</p>
{% elif broadcast_message.status == 'rejected' %}
<p class="govuk-body govuk-!-margin-bottom-4">
Rejected
{{ broadcast_message.updated_at|format_datetime_human }}.
</p>
{% else %}
<p class="govuk-body govuk-!-margin-bottom-4">
Broadcast
@@ -150,10 +155,13 @@
<p class="govuk-body govuk-!-margin-bottom-3">
{% if broadcast_message.created_by %}
Prepared by {{ broadcast_message.created_by.name }}
{% else %}
{%- else %}
Created from an API call
{% endif %}
and approved by {{ broadcast_message.approved_by.name }}.
{%- endif %}
{%- if broadcast_message.approved_by %}
and approved by {{ broadcast_message.approved_by.name }}
{%- endif %}
{{- '.' }}
</p>
{% endif %}