Skip to content

Commit 6b779e9

Browse files
committed
Send email when the responsible AD for a conflict review is changed. Include the stream manager and stream steering group when the responsible AD changes or when the telechat date changes. Fixes ietf-tools#2497. Commit ready for merge.
- Legacy-Id: 15152
1 parent 6c34d05 commit 6b779e9

4 files changed

Lines changed: 10201 additions & 10113 deletions

File tree

ietf/doc/views_conflict_review.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,22 @@ def change_state(request, name, option=None):
8888
help_url=reverse('ietf.doc.views_help.state_help', kwargs=dict(type="conflict-review")),
8989
))
9090

91+
def send_conflict_review_ad_changed_email(request, review, event):
92+
addrs = gather_address_lists('conflrev_ad_changed', doc=review).as_strings(compact=False)
93+
msg = render_to_string("doc/conflict_review/changed_ad.txt",
94+
dict(frm = settings.DEFAULT_FROM_EMAIL,
95+
to = addrs.to,
96+
cc = addrs.cc,
97+
by = request.user.person,
98+
event = event,
99+
review = review,
100+
reviewed_doc = review.relateddocument_set.get(relationship__slug='conflrev').target.document,
101+
review_url = settings.IDTRACKER_BASE_URL+review.get_absolute_url(),
102+
)
103+
)
104+
send_mail_preformatted(request,msg)
105+
106+
91107
def send_conflict_review_started_email(request, review):
92108
addrs = gather_address_lists('conflrev_requested',doc=review).as_strings(compact=False)
93109
msg = render_to_string("doc/conflict_review/review_started.txt",
@@ -234,6 +250,7 @@ def edit_ad(request, name):
234250
c.save()
235251

236252
review.save_with_history([c])
253+
send_conflict_review_ad_changed_email(request, review, c)
237254

238255
return redirect('ietf.doc.views_doc.document_main', name=review.name)
239256

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.11.13 on 2018-05-21 12:07
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations
6+
7+
def forward(apps, schema_editor):
8+
MailTrigger = apps.get_model('mailtrigger','MailTrigger')
9+
Recipient = apps.get_model('mailtrigger', 'Recipient')
10+
11+
conflrev_ad_changed = MailTrigger.objects.create(
12+
slug = 'conflrev_ad_changed',
13+
desc = 'Recipients when the responsible AD for a conflict review is changed',
14+
)
15+
conflrev_ad_changed.to.set(Recipient.objects.filter(slug='iesg-secretary'))
16+
conflrev_ad_changed.cc.set(Recipient.objects.filter(slug__in=[
17+
'conflict_review_steering_group',
18+
'conflict_review_stream_manager',
19+
'doc_affecteddoc_authors',
20+
'doc_affecteddoc_group_chairs',
21+
'doc_affecteddoc_notify',
22+
'doc_notify',
23+
'iesg',
24+
]))
25+
26+
27+
def reverse(apps, schema_editor):
28+
MailTrigger = apps.get_model('mailtrigger','MailTrigger')
29+
MailTrigger.objects.filter(slug='conflrev_ad_changed').delete()
30+
31+
class Migration(migrations.Migration):
32+
33+
dependencies = [
34+
('mailtrigger', '0001_initial'),
35+
]
36+
37+
operations = [
38+
migrations.RunPython(forward, reverse)
39+
]

0 commit comments

Comments
 (0)