fix: provide settings to render_to_string for IPR notification emails (#4357)

* Pass settings into the context

Fixes #4340

* fix: test changes to the ipr notification message content

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
This commit is contained in:
Lars Eggert 2022-08-26 22:27:37 +03:00 committed by GitHub
parent e666894d55
commit 088d953e7e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 0 deletions

View file

@ -9,6 +9,7 @@ from pyquery import PyQuery
from urllib.parse import quote, urlparse
from django.urls import reverse as urlreverse
from django.conf import settings
import debug # pyflakes:ignore
@ -575,6 +576,8 @@ I would like to revoke this declaration.
self.assertTrue('draft-ietf-mars-test@ietf.org' in outbox[len_before+1]['To'])
self.assertTrue('mars-wg@ietf.org' in outbox[len_before+1]['Cc'])
self.assertIn('Secretariat on '+ipr.get_latest_event_submitted().time.strftime("%Y-%m-%d"), get_payload_text(outbox[len_before+1]).replace('\n',' '))
self.assertIn(f'{settings.IDTRACKER_BASE_URL}{urlreverse("ietf.ipr.views.showlist")}', get_payload_text(outbox[len_before]).replace('\n',' '))
self.assertIn(f'{settings.IDTRACKER_BASE_URL}{urlreverse("ietf.ipr.views.history",kwargs=dict(id=ipr.pk))}', get_payload_text(outbox[len_before+1]).replace('\n',' '))
def test_notify_generic(self):
RoleFactory(name_id='ad',group__acronym='gen')
@ -591,6 +594,7 @@ I would like to revoke this declaration.
self.assertEqual(r.status_code,302)
self.assertEqual(len(outbox),2)
self.assertIn('Secretariat on '+ipr.get_latest_event_submitted().time.strftime("%Y-%m-%d"), get_payload_text(outbox[1]).replace('\n',' '))
self.assertIn(f'{settings.IDTRACKER_BASE_URL}{urlreverse("ietf.ipr.views.showlist")}', get_payload_text(outbox[1]).replace('\n',' '))
def send_ipr_email_helper(self):
ipr = HolderIprDisclosureFactory()

View file

@ -80,6 +80,7 @@ def get_document_emails(ipr):
author_names = ', '.join(a.person.name for a in doc.documentauthor_set.select_related("person"))
context = dict(
settings=settings,
doc_info=doc_info,
to_email=addrs.to,
to_name=author_names,
@ -97,6 +98,7 @@ def get_posted_emails(ipr):
addrs = gather_address_lists('ipr_posting_confirmation',ipr=ipr).as_strings(compact=False)
context = dict(
settings=settings,
to_email=addrs.to,
to_name=ipr.submitter_name,
cc_email=addrs.cc,
@ -112,6 +114,7 @@ def get_posted_emails(ipr):
if isinstance(ipr, (GenericIprDisclosure,NonDocSpecificIprDisclosure)):
role = Role.objects.filter(group__acronym='gen',name='ad').first()
context = dict(
settings=settings,
to_email=role.email.address,
to_name=role.person.name,
ipr=ipr)