Skip to content

Commit de4f1fe

Browse files
authored
fix: send status change eval and lc to IANA. Fixes ietf-tools#3504. (ietf-tools#4244)
1 parent 57e729c commit de4f1fe

5 files changed

Lines changed: 21 additions & 20 deletions

File tree

ietf/doc/tests.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
from ietf.name.models import SessionStatusName, BallotPositionName, DocTypeName
5050
from ietf.person.models import Person
5151
from ietf.person.factories import PersonFactory, EmailFactory
52-
from ietf.utils.mail import outbox
52+
from ietf.utils.mail import outbox, empty_outbox
5353
from ietf.utils.test_utils import login_testing_unauthorized, unicontent, reload_db_objects
5454
from ietf.utils.test_utils import TestCase
5555
from ietf.utils.text import normalize_text
@@ -1665,11 +1665,15 @@ def test_document_ballot_needed_positions(self):
16651665
DocAlias.objects.create(name='rfc9999').docs.add(IndividualDraftFactory())
16661666
doc = DocumentFactory(type_id='statchg',name='status-change-imaginary-mid-review')
16671667
iesgeval_pk = str(State.objects.get(slug='iesgeval',type__slug='statchg').pk)
1668+
empty_outbox()
16681669
self.client.login(username='ad', password='ad+password')
16691670
r = self.client.post(urlreverse('ietf.doc.views_status_change.change_state',kwargs=dict(name=doc.name)),dict(new_state=iesgeval_pk))
16701671
self.assertEqual(r.status_code, 302)
16711672
r = self.client.get(r._headers["location"][1])
16721673
self.assertContains(r, ">IESG Evaluation<")
1674+
self.assertEqual(len(outbox), 2)
1675+
self.assertIn('iesg-secretary',outbox[0]['To'])
1676+
self.assertIn('drafts-eval',outbox[1]['To'])
16731677

16741678
doc.relateddocument_set.create(target=DocAlias.objects.get(name='rfc9998'),relationship_id='tohist')
16751679
r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name)))

ietf/doc/views_ballot.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -679,9 +679,7 @@ def ballot_writeupnotes(request, name):
679679
send_mail_preformatted(request, msg, override=override)
680680

681681
addrs = gather_address_lists('ballot_issued_iana',doc=doc).as_strings()
682-
override={ "To": "IANA <%s>"%settings.IANA_EVAL_EMAIL, "Bcc": None , "Reply-To": []}
683-
if addrs.cc:
684-
override['CC'] = addrs.cc
682+
override={ "To": addrs.to, "Bcc": None , "Reply-To": [], "CC": addrs.cc or None }
685683
send_mail_preformatted(request, msg, extra=extra_automation_headers(doc), override=override)
686684

687685
e = DocEvent(doc=doc, rev=doc.rev, by=login)
@@ -1031,7 +1029,7 @@ def make_last_call(request, name):
10311029
announcement_event.save()
10321030

10331031
send_mail_preformatted(request, announcement)
1034-
if doc.type.slug == 'draft':
1032+
if doc.type.slug in ("draft", "statchg"):
10351033
addrs = gather_address_lists('last_call_issued_iana',doc=doc).as_strings(compact=False)
10361034
send_mail_preformatted(request, announcement, extra=extra_automation_headers(doc),
10371035
override={ "To": addrs.to, "CC": addrs.cc, "Bcc": None, "Reply-To": []})
@@ -1206,4 +1204,4 @@ def irsg_ballot_status(request):
12061204

12071205
docs.append(doc)
12081206

1209-
return render(request, 'doc/irsg_ballot_status.html', {'docs':docs})
1207+
return render(request, 'doc/irsg_ballot_status.html', {'docs':docs})

ietf/doc/views_status_change.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -125,16 +125,16 @@ def change_state(request, name, option=None):
125125
))
126126

127127
def send_status_change_eval_email(request,doc):
128-
msg = render_to_string("doc/eval_email.txt",
129-
dict(doc=doc,
130-
doc_url = settings.IDTRACKER_BASE_URL+doc.get_absolute_url(),
131-
)
132-
)
133-
addrs = gather_address_lists('iesg_ballot_issued',doc=doc)
134-
override = {'To':addrs.to }
135-
if addrs.cc:
136-
override['Cc'] = addrs.cc
137-
send_mail_preformatted(request,msg,override=override)
128+
for target in ('iesg_ballot_issued', 'ballot_issued_iana'):
129+
addrs = gather_address_lists(target,doc=doc).as_strings()
130+
msg = render_to_string("doc/eval_email.txt",
131+
dict(doc=doc,
132+
doc_url = settings.IDTRACKER_BASE_URL+doc.get_absolute_url(),
133+
to = addrs.to,
134+
cc = addrs.cc
135+
)
136+
)
137+
send_mail_preformatted(request,msg)
138138

139139
class UploadForm(forms.Form):
140140
content = forms.CharField(widget=forms.Textarea, label="Status change text", help_text="Edit the status change text.", required=False, strip=False)

ietf/settings.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -760,7 +760,6 @@ def skip_unreadable_post(record):
760760
# Email settings
761761
IPR_EMAIL_FROM = 'ietf-ipr@ietf.org'
762762
AUDIO_IMPORT_EMAIL = ['ietf@meetecho.com']
763-
IANA_EVAL_EMAIL = "drafts-eval@icann.org"
764763
SESSION_REQUEST_FROM_EMAIL = 'IETF Meeting Session Request Tool <session-request@ietf.org>'
765764

766765
SECRETARIAT_SUPPORT_EMAIL = "support@ietf.org"

ietf/templates/doc/eval_email.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
{% load mail_filters %}{% autoescape off %}To: {{to}} {% if cc %}
2-
Cc: {{cc}}
3-
{%endif%}From: IESG Secretary <iesg-secretary@ietf.org>
1+
{% load mail_filters %}{% autoescape off %}To: {{to}}{% if cc %}
2+
Cc: {{cc}}{%endif%}
3+
From: IESG Secretary <iesg-secretary@ietf.org>
44
Reply-To: IESG Secretary <iesg-secretary@ietf.org>
55
Subject: Evaluation: {{doc.title}}
66

0 commit comments

Comments
 (0)