Bring in changes to template and CSV processing

Functional changes:
- adds the blue bar

Performance changes
- faster CSV processing

Depends on:

- [ ] https://github.com/alphagov/notifications-utils/pull/47
- [ ] https://github.com/alphagov/notifications-utils/pull/48

Also brings in some breaking changes, which do not affect utils (apart
from a weird import).
This commit is contained in:
Chris Hill-Scott
2016-07-05 16:21:31 +01:00
parent 3e6a59ad46
commit 824085ead8
3 changed files with 24 additions and 12 deletions

View File

@@ -20,9 +20,8 @@ from notifications_utils.recipients import (
)
from app.dao.templates_dao import dao_get_template_by_id
from notifications_utils.template import (
Template
)
from notifications_utils.template import Template
from notifications_utils.renderers import HTMLEmail, PlainTextEmail, SMSMessage
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_model.__dict__,
values={} if not notification.personalisation else notification.personalisation,
prefix=service.name
renderer=SMSMessage(prefix=service.name)
)
try:
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)
if notification.status == 'created':
try:
template = Template(
dao_get_template_by_id(notification.template_id, notification.template_version).__dict__,
values=notification.personalisation
template_dict = dao_get_template_by_id(notification.template_id, notification.template_version).__dict__
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:
@@ -145,9 +153,9 @@ def send_email_to_provider(self, service_id, notification_id):
reference = provider.send_email(
from_address,
notification.to,
template.replaced_subject,
body=template.replaced_govuk_escaped,
html_body=template.as_HTML_email,
plain_text_email.replaced_subject,
body=plain_text_email.replaced,
html_body=html_email.replaced,
reply_to_address=service.reply_to_email_address,
)