From 24b83240e0b9f3b6cb1db0b95ea10cfc509c43ea Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Sat, 3 Nov 2018 00:16:41 +0000 Subject: [PATCH] Tune the recipients when a teams settings or a reviewer indicate ADs should be notified about a review. Commit ready for merge. - Legacy-Id: 15677 --- ietf/mailtrigger/migrations/0003_add_review_notify_ad.py | 7 ++++++- ietf/mailtrigger/models.py | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ietf/mailtrigger/migrations/0003_add_review_notify_ad.py b/ietf/mailtrigger/migrations/0003_add_review_notify_ad.py index b91588efa..60211ffdc 100644 --- a/ietf/mailtrigger/migrations/0003_add_review_notify_ad.py +++ b/ietf/mailtrigger/migrations/0003_add_review_notify_ad.py @@ -13,12 +13,16 @@ def forward(apps, schema_editor): desc = "The reviewed document's responsible area director", template = '{% if review_req.doc.ad %}{{review_req.doc.ad.email_address}}{% endif %}' ) + Recipient.objects.create( + slug = 'review_team_ads', + desc = "The ADs of the team reviewing the document" + ) review_notify_ad = MailTrigger.objects.create( slug = 'review_notify_ad', desc = 'Recipients when a team notifies area directors when a review with one of a certain set of results (typically results indicating problem) is submitted', ) - review_notify_ad.to.set(Recipient.objects.filter(slug='review_doc_ad')) + review_notify_ad.to.set(Recipient.objects.filter(slug__in=['review_doc_ad','review_team_ads'])) def reverse(apps, schema_editor): @@ -27,6 +31,7 @@ def reverse(apps, schema_editor): MailTrigger.objects.filter(slug='review_notify_ad').delete() Recipient.objects.filter(slug='review_doc_ad').delete() + Recipient.objects.filter(slug='review_team_ads').delete() class Migration(migrations.Migration): diff --git a/ietf/mailtrigger/models.py b/ietf/mailtrigger/models.py index d990f2004..b1c86213c 100644 --- a/ietf/mailtrigger/models.py +++ b/ietf/mailtrigger/models.py @@ -316,3 +316,12 @@ class Recipient(models.Model): session = kwargs['session'] addrs.append(session.requested_by.role_email('chair').address) return addrs + + def gather_review_team_ads(self, **kwargs): + addrs=[] + if 'review_req' in kwargs: + review_req = kwargs['review_req'] + if review_req.team.parent: + for role in review_req.team.parent.role_set.filter(name='ad'): + addrs.append(role.email.address) + return addrs