diff --git a/ietf/mailtrigger/migrations/0005_interim_trigger.py b/ietf/mailtrigger/migrations/0005_interim_trigger.py new file mode 100644 index 000000000..69c98e43d --- /dev/null +++ b/ietf/mailtrigger/migrations/0005_interim_trigger.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations + + +def make_mailtriggers(apps): + Recipient = apps.get_model('mailtrigger','Recipient') + MailTrigger = apps.get_model('mailtrigger','MailTrigger') + + def mt_factory(slug,desc,to_slugs,cc_slugs=[]): + + # Try to protect ourselves from typos + all_slugs = to_slugs[:] + all_slugs.extend(cc_slugs) + for recipient_slug in all_slugs: + try: + Recipient.objects.get(slug=recipient_slug) + except Recipient.DoesNotExist: + print "****Some rule tried to use",recipient_slug + raise + + m = MailTrigger.objects.create(slug=slug, desc=desc) + m.to = Recipient.objects.filter(slug__in=to_slugs) + m.cc = Recipient.objects.filter(slug__in=cc_slugs) + + mt_factory(slug='interim_approved', + desc="Recipients when an interim meeting is approved " + "and an announcement needs to be sent", + to_slugs=['iesg_secretary'], + cc_slugs=[] + ) + +def forward(apps, schema_editor): + make_mailtriggers(apps) + + +class Migration(migrations.Migration): + dependencies = [ + ('mailtrigger', '0004_auto_20160516_1659'), + ] + + operations = [migrations.RunPython(forward)] diff --git a/ietf/meeting/helpers.py b/ietf/meeting/helpers.py index 437cc0728..23c604772 100644 --- a/ietf/meeting/helpers.py +++ b/ietf/meeting/helpers.py @@ -567,7 +567,7 @@ def send_interim_announcement_request(meeting): interim meeting which includes the link to send the official announcement""" group = meeting.session_set.first().group requester = meeting.session_set.first().requested_by - to_email = settings.INTERIM_ANNOUNCE_FROM_EMAIL + (to_email, cc_list) = gather_address_lists('interim_approved') from_email = ('"IETF Meeting Session Request Tool"','session_request_developers@ietf.org') subject = '{group} - Interim Meeting Approved'.format(group=group.acronym) template = 'meeting/interim_announcement_request.txt' @@ -578,7 +578,8 @@ def send_interim_announcement_request(meeting): from_email, subject, template, - context,) + context, + cc_list) def send_interim_cancellation_notice(meeting): """Sends an email that a scheduled interim meeting has been cancelled."""