Allow users to set postage per precompiled letter

This commit is contained in:
Pea Tyczynska
2019-01-09 17:49:19 +00:00
parent 1719f31909
commit 56bae2b077
4 changed files with 29 additions and 12 deletions

View File

@@ -20,6 +20,7 @@ def create_letter_notification(letter_data, template, api_key, status, reply_to_
client_reference=letter_data.get('reference'),
status=status,
reply_to_text=reply_to_text,
billable_units=billable_units
billable_units=billable_units,
postage=letter_data.get('postage')
)
return notification

View File

@@ -75,7 +75,8 @@ def persist_notification(
created_by_id=None,
status=NOTIFICATION_CREATED,
reply_to_text=None,
billable_units=None
billable_units=None,
postage=None
):
notification_created_at = created_at or datetime.utcnow()
if not notification_id:
@@ -112,11 +113,14 @@ def persist_notification(
elif notification_type == EMAIL_TYPE:
notification.normalised_to = format_email_address(notification.to)
elif notification_type == LETTER_TYPE:
template = dao_get_template_by_id(template_id, template_version)
if service.has_permission(CHOOSE_POSTAGE) and template.postage:
notification.postage = template.postage
if postage:
notification.postage = postage
else:
notification.postage = service.postage
template = dao_get_template_by_id(template_id, template_version)
if service.has_permission(CHOOSE_POSTAGE) and template.postage:
notification.postage = template.postage
else:
notification.postage = service.postage
# if simulated create a Notification model to return but do not persist the Notification to the dB
if not simulated:

View File

@@ -239,7 +239,8 @@ post_precompiled_letter_request = {
"title": "POST v2/notifications/letter",
"properties": {
"reference": {"type": "string"},
"content": {"type": "string"}
"content": {"type": "string"},
"postage": {"type": "string"}
},
"required": ["reference", "content"],
"additionalProperties": False