Serialise content in broadcast message response

This will let us show the content of the broadcast message in places we
can’t at the moment.
This commit is contained in:
Chris Hill-Scott
2020-10-02 16:39:24 +01:00
parent cfe32cf459
commit 7da0d46767
2 changed files with 9 additions and 0 deletions

View File

@@ -2242,6 +2242,12 @@ class BroadcastMessage(db.Model):
approved_by = db.relationship('User', foreign_keys=[approved_by_id])
cancelled_by = db.relationship('User', foreign_keys=[cancelled_by_id])
@property
def content(self):
return self.template._as_utils_template_with_personalisation(
self.personalisation
).content_with_placeholders_filled_in
@property
def personalisation(self):
if self._personalisation:
@@ -2261,6 +2267,7 @@ class BroadcastMessage(db.Model):
'template_id': str(self.template_id),
'template_version': self.template_version,
'template_name': self.template.name,
'template_content': self.content,
'personalisation': self.personalisation,
'areas': self.areas.get("areas", []),

View File

@@ -24,6 +24,8 @@ def test_get_broadcast_message(admin_request, sample_broadcast_service):
)
assert response['id'] == str(bm.id)
assert response['template_id'] == str(t.id)
assert response['template_content'] == t.content
assert response['template_name'] == t.name
assert response['status'] == BroadcastStatusType.DRAFT
assert response['created_at'] is not None