From 916e5240cecee7ac6ae879d2ef005074ea8f90c9 Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Thu, 8 Jul 2021 19:59:43 +0000 Subject: [PATCH] improved relevant email expansions - Legacy-Id: 19206 --- ietf/mailtrigger/migrations/0023_bofreq_triggers.py | 5 +++++ ietf/mailtrigger/models.py | 4 +++- ietf/mailtrigger/utils.py | 9 +++++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ietf/mailtrigger/migrations/0023_bofreq_triggers.py b/ietf/mailtrigger/migrations/0023_bofreq_triggers.py index d9a28d4fd..4c3580140 100644 --- a/ietf/mailtrigger/migrations/0023_bofreq_triggers.py +++ b/ietf/mailtrigger/migrations/0023_bofreq_triggers.py @@ -26,9 +26,14 @@ def forward(apps, schema_editor): mt = MailTrigger.objects.create(slug='bofreq_new_revision', desc='Recipients when a new revision of a BOF request is uploaded.') mt.to.set(Recipient.objects.filter(slug__in=['bofreq_responsible', 'bofreq_editors', 'doc_notify'])) + for recipient in Recipient.objects.filter(slug__in=['bofreq_responsible','bofreq_editors']): + MailTrigger.objects.get(slug='doc_state_edited').to.add(recipient) + def reverse(apps, schema_editor): MailTrigger = apps.get_model('mailtrigger', 'MailTrigger') Recipient = apps.get_model('mailtrigger', 'Recipient') + for recipient in Recipient.objects.filter(slug__in=['bofreq_responsible','bofreq_editors']): + MailTrigger.objects.get(slug='doc_state_edited').to.remove(recipient) MailTrigger.objects.filter(slug__in=('bofreq_title_changed', 'bofreq_editors_changed', 'bofreq_new_revision', 'bofreq_responsible_changed')).delete() Recipient.objects.filter(slug__in=('bofreq_editors', 'bofreq_previous_editors')).delete() Recipient.objects.filter(slug__in=('bofreq_responsible', 'bofreq_previous_responsible')).delete() diff --git a/ietf/mailtrigger/models.py b/ietf/mailtrigger/models.py index 3cda3d24e..1ead8b804 100644 --- a/ietf/mailtrigger/models.py +++ b/ietf/mailtrigger/models.py @@ -417,7 +417,9 @@ class Recipient(models.Model): def gather_bofreq_previous_responsible(self, **kwargs): addrs = [] - previous_responsible = kwargs['previous_responsible'] + previous_responsible = None + if previous_responsible in kwargs: + previous_responsible = kwargs['previous_responsible'] if previous_responsible: addrs = [p.email_address() for p in previous_responsible] else: diff --git a/ietf/mailtrigger/utils.py b/ietf/mailtrigger/utils.py index 2e998f437..48d91ff6a 100644 --- a/ietf/mailtrigger/utils.py +++ b/ietf/mailtrigger/utils.py @@ -68,8 +68,10 @@ def gather_relevant_expansions(**kwargs): doc = kwargs['doc'] - # PEY: does this need to include irsg_ballot_saved as well? - relevant.update(['doc_state_edited','doc_telechat_details_changed','ballot_deferred','iesg_ballot_saved']) + relevant.add('doc_state_edited') + + if not doc.type_id in ['bofreq',]: + relevant.update(['doc_telechat_details_changed','ballot_deferred','iesg_ballot_saved']) if doc.type_id in ['draft','statchg']: relevant.update(starts_with('last_call_')) @@ -91,6 +93,9 @@ def gather_relevant_expansions(**kwargs): if doc.type_id == 'charter': relevant.update(['charter_external_review','ballot_approved_charter']) + if doc.type_id == 'bofreq': + relevant.update(starts_with('bofreq')) + if 'group' in kwargs: relevant.update(starts_with('group_'))