mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-16 20:49:00 -04:00
Show broadcasts created by the API
Broadcasts created by the API are different in that: - they aren’t created by any user, so don’t have a `created_by_id` - they are created instantly, not in steps, so don’t have an `updated_at` time This commit alters the views to account for when these pieces of information aren’t present.
This commit is contained in:
@@ -45,6 +45,10 @@ class BroadcastMessage(JSONModel):
|
||||
return True
|
||||
if not self.starts_at and other.starts_at:
|
||||
return False
|
||||
if self.updated_at and not other.updated_at:
|
||||
return self.updated_at < other.created_at
|
||||
if not self.updated_at and other.updated_at:
|
||||
return self.created_at < other.updated_at
|
||||
return self.updated_at < other.updated_at
|
||||
|
||||
@classmethod
|
||||
@@ -129,7 +133,7 @@ class BroadcastMessage(JSONModel):
|
||||
|
||||
@cached_property
|
||||
def created_by(self):
|
||||
return User.from_id(self.created_by_id)
|
||||
return User.from_id(self.created_by_id) if self.created_by_id else None
|
||||
|
||||
@cached_property
|
||||
def approved_by(self):
|
||||
|
||||
@@ -20,7 +20,9 @@
|
||||
alert
|
||||
</li>
|
||||
<li class="area-list-key area-list-key--phone-estimate">
|
||||
{% if broadcast_message.count_of_phones == broadcast_message.count_of_phones_likely %}
|
||||
{% if broadcast_message.count_of_phones == 0 %}
|
||||
Unknown number of phones
|
||||
{% elif broadcast_message.count_of_phones == broadcast_message.count_of_phones_likely %}
|
||||
{{ broadcast_message.count_of_phones|format_thousands }} phones estimated
|
||||
{% else %}
|
||||
{{ broadcast_message.count_of_phones|format_thousands }} to {{ broadcast_message.count_of_phones_likely|format_thousands }} phones
|
||||
|
||||
@@ -19,10 +19,15 @@
|
||||
|
||||
{% block service_page_title %}
|
||||
{% if broadcast_message.status == 'pending-approval' %}
|
||||
{% if broadcast_message.created_by == current_user and current_user.has_permissions('send_messages') %}
|
||||
{% if broadcast_message.created_by and broadcast_message.created_by == current_user and current_user.has_permissions('send_messages') %}
|
||||
{{ broadcast_message.template.name }} is waiting for approval
|
||||
{% elif current_user.has_permissions('send_messages') %}
|
||||
{{ broadcast_message.created_by.name }} wants to broadcast
|
||||
{% if broadcast_message.created_by %}
|
||||
{{ broadcast_message.created_by.name }}
|
||||
{% else %}
|
||||
An API call
|
||||
{% endif %}
|
||||
wants to broadcast
|
||||
{{ broadcast_message.template.name }}
|
||||
{% else %}
|
||||
This alert is waiting for approval
|
||||
@@ -37,7 +42,7 @@
|
||||
{{ govukBackLink({ "href": back_link }) }}
|
||||
|
||||
{% if broadcast_message.status == 'pending-approval' %}
|
||||
{% if broadcast_message.created_by == current_user and current_user.has_permissions('send_messages') %}
|
||||
{% if broadcast_message.created_by and broadcast_message.created_by == current_user and current_user.has_permissions('send_messages') %}
|
||||
<div class="banner govuk-!-margin-bottom-6">
|
||||
<h1 class="govuk-heading-m govuk-!-margin-bottom-3">
|
||||
{{ broadcast_message.template.name }} is waiting for approval
|
||||
@@ -79,7 +84,12 @@
|
||||
{% elif current_user.has_permissions('send_messages') %}
|
||||
{% call form_wrapper(class="banner govuk-!-margin-bottom-6") %}
|
||||
<h1 class="govuk-heading-m govuk-!-margin-top-0 govuk-!-margin-bottom-3">
|
||||
{{ broadcast_message.created_by.name }} wants to broadcast
|
||||
{% if broadcast_message.created_by %}
|
||||
{{ broadcast_message.created_by.name }}
|
||||
{% else %}
|
||||
An API call
|
||||
{% endif %}
|
||||
wants to broadcast
|
||||
{{ broadcast_message.template.name }}
|
||||
</h1>
|
||||
{{ page_footer(
|
||||
@@ -138,8 +148,12 @@
|
||||
|
||||
{% if broadcast_message.status != 'pending-approval' %}
|
||||
<p class="govuk-body govuk-!-margin-bottom-3">
|
||||
Prepared by {{ broadcast_message.created_by.name }} and approved by
|
||||
{{ broadcast_message.approved_by.name }}.
|
||||
{% if broadcast_message.created_by %}
|
||||
Prepared by {{ broadcast_message.created_by.name }}
|
||||
{% else %}
|
||||
Created from an API call
|
||||
{% endif %}
|
||||
and approved by {{ broadcast_message.approved_by.name }}.
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user