diff --git a/app/json_models.py b/app/json_models.py index 1f260aaa8..5f957a2c4 100644 --- a/app/json_models.py +++ b/app/json_models.py @@ -9,7 +9,6 @@ class JSONModel(ABC): pass def __init__(self, _dict): - self._dict = _dict for property in self.ALLOWED_PROPERTIES: setattr(self, property, _dict[property]) @@ -20,10 +19,12 @@ class JSONModel(ABC): class TemplateJSONModel(JSONModel): ALLOWED_PROPERTIES = { 'archived', + 'content', 'id', 'postage', 'process_type', 'reply_to_text', + 'subject', 'template_type', 'version', } diff --git a/app/notifications/process_notifications.py b/app/notifications/process_notifications.py index 4b5b83360..826177bd3 100644 --- a/app/notifications/process_notifications.py +++ b/app/notifications/process_notifications.py @@ -50,12 +50,29 @@ REDIS_GET_AND_INCR_DAILY_LIMIT_DURATION_SECONDS = Histogram( def create_content_for_notification(template, personalisation): if template.template_type == EMAIL_TYPE: - template_object = PlainTextEmailTemplate(template._dict, personalisation) + template_object = PlainTextEmailTemplate( + { + 'content': template.content, + 'subject': template.subject, + 'template_type': template.template_type, + }, + personalisation, + ) if template.template_type == SMS_TYPE: - template_object = SMSMessageTemplate(template._dict, personalisation) + template_object = SMSMessageTemplate( + { + 'content': template.content, + 'template_type': template.template_type, + }, + personalisation, + ) if template.template_type == LETTER_TYPE: template_object = LetterPrintTemplate( - template._dict, + { + 'content': template.content, + 'subject': template.subject, + 'template_type': template.template_type, + }, personalisation, contact_block=template.reply_to_text, ) diff --git a/tests/app/notifications/test_process_notification.py b/tests/app/notifications/test_process_notification.py index 58355fd97..a0bb3cc1a 100644 --- a/tests/app/notifications/test_process_notification.py +++ b/tests/app/notifications/test_process_notification.py @@ -29,7 +29,7 @@ from tests.app.db import create_service, create_template, create_api_key def test_create_content_for_notification_passes(sample_email_template): template = get_template_model(sample_email_template.id, sample_email_template.service_id) content = create_content_for_notification(template, None) - assert str(content) == template._dict['content'] + '\n' + assert str(content) == template.content + '\n' def test_create_content_for_notification_with_placeholders_passes(sample_template_with_placeholders): @@ -37,7 +37,7 @@ def test_create_content_for_notification_with_placeholders_passes(sample_templat sample_template_with_placeholders.id, sample_template_with_placeholders.service_id ) content = create_content_for_notification(template, {'name': 'Bobby'}) - assert content.content == template._dict['content'] + assert content.content == template.content assert 'Bobby' in str(content)