mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-24 01:11:38 -05:00
Merge branch 'master' into email-registered-users
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 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,
|
||||
)
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ from flask import (
|
||||
)
|
||||
from notifications_utils.recipients import allowed_to_send_to, first_column_heading
|
||||
from notifications_utils.template import Template
|
||||
from notifications_utils.renderers import PassThrough
|
||||
from app.clients.email.aws_ses import get_aws_responses
|
||||
from app import api_user, encryption, create_uuid, DATETIME_FORMAT, DATE_FORMAT, statsd_client
|
||||
from app.models import KEY_TYPE_TEAM
|
||||
@@ -240,7 +241,11 @@ def send_notification(notification_type):
|
||||
if errors:
|
||||
raise InvalidRequest(errors, status_code=400)
|
||||
|
||||
template_object = Template(template.__dict__, notification.get('personalisation', {}))
|
||||
template_object = Template(
|
||||
template.__dict__,
|
||||
notification.get('personalisation', {}),
|
||||
renderer=PassThrough()
|
||||
)
|
||||
if template_object.missing_data:
|
||||
message = 'Missing personalisation: {}'.format(", ".join(template_object.missing_data))
|
||||
errors = {'template': [message]}
|
||||
|
||||
@@ -24,6 +24,8 @@ from notifications_utils.recipients import (
|
||||
validate_and_format_phone_number
|
||||
)
|
||||
|
||||
from notifications_utils.renderers import PassThrough
|
||||
|
||||
from app import ma
|
||||
from app import models
|
||||
from app.dao.permissions_dao import permission_dao
|
||||
@@ -272,7 +274,11 @@ class NotificationStatusSchema(BaseSchema):
|
||||
@post_dump
|
||||
def handle_template_merge(self, in_data):
|
||||
from notifications_utils.template import Template
|
||||
template = Template(in_data['template'], in_data['personalisation'])
|
||||
template = Template(
|
||||
in_data['template'],
|
||||
in_data['personalisation'],
|
||||
renderer=PassThrough()
|
||||
)
|
||||
in_data['body'] = template.replaced
|
||||
if in_data['template']['template_type'] == 'email':
|
||||
in_data['subject'] = template.replaced_subject
|
||||
|
||||
Reference in New Issue
Block a user