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 urllib.parse import quote, urlparse
from django.urls import reverse as urlreverse from django.urls import reverse as urlreverse
from django.conf import settings
import debug # pyflakes:ignore 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('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.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('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): def test_notify_generic(self):
RoleFactory(name_id='ad',group__acronym='gen') 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(r.status_code,302)
self.assertEqual(len(outbox),2) 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('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): def send_ipr_email_helper(self):
ipr = HolderIprDisclosureFactory() 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")) author_names = ', '.join(a.person.name for a in doc.documentauthor_set.select_related("person"))
context = dict( context = dict(
settings=settings,
doc_info=doc_info, doc_info=doc_info,
to_email=addrs.to, to_email=addrs.to,
to_name=author_names, 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) addrs = gather_address_lists('ipr_posting_confirmation',ipr=ipr).as_strings(compact=False)
context = dict( context = dict(
settings=settings,
to_email=addrs.to, to_email=addrs.to,
to_name=ipr.submitter_name, to_name=ipr.submitter_name,
cc_email=addrs.cc, cc_email=addrs.cc,
@ -112,6 +114,7 @@ def get_posted_emails(ipr):
if isinstance(ipr, (GenericIprDisclosure,NonDocSpecificIprDisclosure)): if isinstance(ipr, (GenericIprDisclosure,NonDocSpecificIprDisclosure)):
role = Role.objects.filter(group__acronym='gen',name='ad').first() role = Role.objects.filter(group__acronym='gen',name='ad').first()
context = dict( context = dict(
settings=settings,
to_email=role.email.address, to_email=role.email.address,
to_name=role.person.name, to_name=role.person.name,
ipr=ipr) ipr=ipr)