mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-02 09:26:08 -05:00
Merge pull request #519 from alphagov/update-utils
Bring in changes to template and CSV processing
This commit is contained in:
@@ -20,9 +20,8 @@ from notifications_utils.recipients import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
from app.dao.templates_dao import dao_get_template_by_id
|
from app.dao.templates_dao import dao_get_template_by_id
|
||||||
from notifications_utils.template import (
|
from notifications_utils.template import Template
|
||||||
Template
|
from notifications_utils.renderers import HTMLEmail, PlainTextEmail, SMSMessage
|
||||||
)
|
|
||||||
|
|
||||||
from app.models import SMS_TYPE, EMAIL_TYPE, KEY_TYPE_TEST
|
from app.models import SMS_TYPE, EMAIL_TYPE, KEY_TYPE_TEST
|
||||||
|
|
||||||
@@ -62,7 +61,7 @@ def send_sms_to_provider(self, service_id, notification_id):
|
|||||||
template = Template(
|
template = Template(
|
||||||
template_model.__dict__,
|
template_model.__dict__,
|
||||||
values={} if not notification.personalisation else notification.personalisation,
|
values={} if not notification.personalisation else notification.personalisation,
|
||||||
prefix=service.name
|
renderer=SMSMessage(prefix=service.name)
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
if service.research_mode or notification.key_type == KEY_TYPE_TEST:
|
if service.research_mode or notification.key_type == KEY_TYPE_TEST:
|
||||||
@@ -129,9 +128,18 @@ def send_email_to_provider(self, service_id, notification_id):
|
|||||||
notification = get_notification_by_id(notification_id)
|
notification = get_notification_by_id(notification_id)
|
||||||
if notification.status == 'created':
|
if notification.status == 'created':
|
||||||
try:
|
try:
|
||||||
template = Template(
|
template_dict = dao_get_template_by_id(notification.template_id, notification.template_version).__dict__
|
||||||
dao_get_template_by_id(notification.template_id, notification.template_version).__dict__,
|
|
||||||
values=notification.personalisation
|
html_email = Template(
|
||||||
|
template_dict,
|
||||||
|
values=notification.personalisation,
|
||||||
|
renderer=HTMLEmail()
|
||||||
|
)
|
||||||
|
|
||||||
|
plain_text_email = Template(
|
||||||
|
template_dict,
|
||||||
|
values=notification.personalisation,
|
||||||
|
renderer=PlainTextEmail()
|
||||||
)
|
)
|
||||||
|
|
||||||
if service.research_mode or notification.key_type == KEY_TYPE_TEST:
|
if service.research_mode or notification.key_type == KEY_TYPE_TEST:
|
||||||
@@ -145,9 +153,9 @@ def send_email_to_provider(self, service_id, notification_id):
|
|||||||
reference = provider.send_email(
|
reference = provider.send_email(
|
||||||
from_address,
|
from_address,
|
||||||
notification.to,
|
notification.to,
|
||||||
template.replaced_subject,
|
plain_text_email.replaced_subject,
|
||||||
body=template.replaced_govuk_escaped,
|
body=plain_text_email.replaced,
|
||||||
html_body=template.as_HTML_email,
|
html_body=html_email.replaced,
|
||||||
reply_to_address=service.reply_to_email_address,
|
reply_to_address=service.reply_to_email_address,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -240,7 +240,11 @@ def send_notification(notification_type):
|
|||||||
if errors:
|
if errors:
|
||||||
raise InvalidRequest(errors, status_code=400)
|
raise InvalidRequest(errors, status_code=400)
|
||||||
|
|
||||||
template_object = Template(template.__dict__, notification.get('personalisation', {}))
|
template_object = Template(
|
||||||
|
template.__dict__,
|
||||||
|
notification.get('personalisation', {}),
|
||||||
|
renderer=lambda content: content
|
||||||
|
)
|
||||||
if template_object.missing_data:
|
if template_object.missing_data:
|
||||||
message = 'Missing personalisation: {}'.format(", ".join(template_object.missing_data))
|
message = 'Missing personalisation: {}'.format(", ".join(template_object.missing_data))
|
||||||
errors = {'template': [message]}
|
errors = {'template': [message]}
|
||||||
|
|||||||
@@ -23,4 +23,4 @@ statsd==3.2.1
|
|||||||
git+https://github.com/alphagov/notifications-python-client.git@1.0.0#egg=notifications-python-client==1.0.0
|
git+https://github.com/alphagov/notifications-python-client.git@1.0.0#egg=notifications-python-client==1.0.0
|
||||||
|
|
||||||
|
|
||||||
git+https://github.com/alphagov/notifications-utils.git@6.3.2#egg=notifications-utils==6.3.2
|
git+https://github.com/alphagov/notifications-utils.git@8.1.0#egg=notifications-utils==8.1.0
|
||||||
|
|||||||
Reference in New Issue
Block a user