Require reference if template not provided

In the admin app we need something to use in show in lieu of template
name when a template isn’t used. Let’s store this in the reference field
for now.
This commit is contained in:
Chris Hill-Scott
2021-01-15 14:43:40 +00:00
parent 0510311d63
commit e161f6e4a1
3 changed files with 69 additions and 4 deletions

View File

@@ -16,11 +16,18 @@ create_broadcast_message_schema = {
'areas': {"type": "array", "items": {"type": "string"}},
'simple_polygons': {"type": "array", "items": {"type": "array"}},
'content': {'type': 'string', 'minLength': 1, 'maxLength': 1395},
'reference': {'type': 'string', 'minLength': 1, 'maxLength': 255},
},
'required': ['service_id', 'created_by'],
'oneOf': [
{'required': ['template_id']},
{'required': ['content']},
'allOf': [
{'oneOf': [
{'required': ['template_id']},
{'required': ['content']},
]},
{'oneOf': [
{'required': ['template_id']},
{'required': ['reference']},
]},
],
'additionalProperties': False
}

View File

@@ -109,8 +109,9 @@ def create_broadcast_message(service_id):
content = template._as_utils_template_with_personalisation(
personalisation
).content_with_placeholders_filled_in
reference = None
else:
template, content = None, data['content']
template, content, reference = None, data['content'], data['reference']
broadcast_message = BroadcastMessage(
service_id=service.id,
@@ -123,6 +124,7 @@ def create_broadcast_message(service_id):
finishes_at=_parse_nullable_datetime(data.get('finishes_at')),
created_by_id=user.id,
content=content,
reference=reference,
)
dao_save_object(broadcast_message)