diff --git a/ietf/doc/views_conflict_review.py b/ietf/doc/views_conflict_review.py index 6dcf32100..350d5a4c4 100644 --- a/ietf/doc/views_conflict_review.py +++ b/ietf/doc/views_conflict_review.py @@ -88,6 +88,22 @@ def change_state(request, name, option=None): help_url=reverse('ietf.doc.views_help.state_help', kwargs=dict(type="conflict-review")), )) +def send_conflict_review_ad_changed_email(request, review, event): + addrs = gather_address_lists('conflrev_ad_changed', doc=review).as_strings(compact=False) + msg = render_to_string("doc/conflict_review/changed_ad.txt", + dict(frm = settings.DEFAULT_FROM_EMAIL, + to = addrs.to, + cc = addrs.cc, + by = request.user.person, + event = event, + review = review, + reviewed_doc = review.relateddocument_set.get(relationship__slug='conflrev').target.document, + review_url = settings.IDTRACKER_BASE_URL+review.get_absolute_url(), + ) + ) + send_mail_preformatted(request,msg) + + def send_conflict_review_started_email(request, review): addrs = gather_address_lists('conflrev_requested',doc=review).as_strings(compact=False) msg = render_to_string("doc/conflict_review/review_started.txt", @@ -234,6 +250,7 @@ def edit_ad(request, name): c.save() review.save_with_history([c]) + send_conflict_review_ad_changed_email(request, review, c) return redirect('ietf.doc.views_doc.document_main', name=review.name) diff --git a/ietf/mailtrigger/migrations/0002_conflrev_changes.py b/ietf/mailtrigger/migrations/0002_conflrev_changes.py new file mode 100644 index 000000000..8fc3090b9 --- /dev/null +++ b/ietf/mailtrigger/migrations/0002_conflrev_changes.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.13 on 2018-05-21 12:07 +from __future__ import unicode_literals + +from django.db import migrations + +def forward(apps, schema_editor): + MailTrigger = apps.get_model('mailtrigger','MailTrigger') + Recipient = apps.get_model('mailtrigger', 'Recipient') + + conflrev_ad_changed = MailTrigger.objects.create( + slug = 'conflrev_ad_changed', + desc = 'Recipients when the responsible AD for a conflict review is changed', + ) + conflrev_ad_changed.to.set(Recipient.objects.filter(slug='iesg-secretary')) + conflrev_ad_changed.cc.set(Recipient.objects.filter(slug__in=[ + 'conflict_review_steering_group', + 'conflict_review_stream_manager', + 'doc_affecteddoc_authors', + 'doc_affecteddoc_group_chairs', + 'doc_affecteddoc_notify', + 'doc_notify', + 'iesg', + ])) + + +def reverse(apps, schema_editor): + MailTrigger = apps.get_model('mailtrigger','MailTrigger') + MailTrigger.objects.filter(slug='conflrev_ad_changed').delete() + +class Migration(migrations.Migration): + + dependencies = [ + ('mailtrigger', '0001_initial'), + ] + + operations = [ + migrations.RunPython(forward, reverse) + ] diff --git a/ietf/name/fixtures/names.json b/ietf/name/fixtures/names.json index 1111bacf3..dbf5e4ca9 100644 --- a/ietf/name/fixtures/names.json +++ b/ietf/name/fixtures/names.json @@ -2438,7 +2438,8 @@ "cc": [], "desc": "Recipients when a ballot is issued", "to": [ - "iesg" + "iesg", + "iesg_secretary" ] }, "model": "mailtrigger.mailtrigger", @@ -2523,6 +2524,23 @@ "model": "mailtrigger.mailtrigger", "pk": "charter_state_edit_admin_needed" }, + { + "fields": { + "cc": [ + "conflict_review_steering_group", + "conflict_review_stream_manager", + "doc_affecteddoc_authors", + "doc_affecteddoc_group_chairs", + "doc_affecteddoc_notify", + "doc_notify", + "iesg" + ], + "desc": "Recipients when the responsible AD for a conflict review is changed", + "to": [] + }, + "model": "mailtrigger.mailtrigger", + "pk": "conflrev_ad_changed" + }, { "fields": { "cc": [ @@ -10072,7 +10090,7 @@ "fields": { "command": "xym", "switch": "--version", - "time": "2018-05-03T00:07:54.849", + "time": "2018-05-21T00:08:52.105", "used": true, "version": "xym 0.4" }, @@ -10083,7 +10101,7 @@ "fields": { "command": "pyang", "switch": "--version", - "time": "2018-05-03T00:07:55.605", + "time": "2018-05-21T00:08:53.585", "used": true, "version": "pyang 1.7.5" }, @@ -10094,9 +10112,9 @@ "fields": { "command": "yanglint", "switch": "--version", - "time": "2018-05-03T00:07:55.737", + "time": "2018-05-21T00:08:53.827", "used": true, - "version": "yanglint 0.14.78" + "version": "yanglint 0.14.80" }, "model": "utils.versioninfo", "pk": 3 @@ -10105,7 +10123,7 @@ "fields": { "command": "xml2rfc", "switch": "--version", - "time": "2018-05-03T00:07:56.594", + "time": "2018-05-21T00:08:54.971", "used": true, "version": "xml2rfc 2.9.6" }, diff --git a/ietf/templates/doc/conflict_review/changed_ad.txt b/ietf/templates/doc/conflict_review/changed_ad.txt new file mode 100644 index 000000000..2ac8f3803 --- /dev/null +++ b/ietf/templates/doc/conflict_review/changed_ad.txt @@ -0,0 +1,14 @@ +{% load mail_filters %}{% autoescape off %}To: {{to}}{% if cc %} +Cc: {{cc}} +{% endif %}From: {{ frm }} +Subject: Conflict Review AD changed for {{reviewed_doc.name}} + +{{ by.name }} has set the responsible AD for the conflict review of: + {{ reviewed_doc.name }} + {{ reviewed_doc.title }} + +{{event.desc}} + +The conflict review is being tracked at <{{ review_url }}> + +{% endautoescape%}