Changes interim announcements and interim cancellation announcements to use mailtriggers. Adds irtf-announce to announcements for IRTF groups. Fixes #2018. Commit ready for merge.
- Legacy-Id: 12099
This commit is contained in:
parent
c34356db94
commit
5b32cc2da7
47
ietf/mailtrigger/migrations/0007_add_interim_announce.py
Normal file
47
ietf/mailtrigger/migrations/0007_add_interim_announce.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
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')
|
||||
|
||||
Recipient.objects.create(
|
||||
slug='group_stream_announce',
|
||||
desc="The group's stream's announce list",
|
||||
template="{% if group.type_id == 'wg' %}IETF-Announce <ietf-announce@ietf.org>{% elif group.type_id == 'rg' %}IRTF-Announce <irtf-announce@irtf.org>{% endif %}"
|
||||
)
|
||||
|
||||
annc = MailTrigger.objects.create(
|
||||
slug='interim_announced',
|
||||
desc='Recipients when an interim meeting is announced',
|
||||
)
|
||||
annc.to = Recipient.objects.filter(slug__in=['ietf_announce','stream_announce'])
|
||||
annc.cc = Recipient.objects.filter(slug__in=['group_mail_list',])
|
||||
|
||||
annc = MailTrigger.objects.create(
|
||||
slug='interim_cancelled',
|
||||
desc='Recipients when an interim meeting is cancelled',
|
||||
)
|
||||
annc.to = Recipient.objects.filter(slug__in=['ietf_announce','stream_aanounce'])
|
||||
annc.cc = Recipient.objects.filter(slug__in=['group_chairs','group_mail_list','logged_in_person'])
|
||||
|
||||
|
||||
def reverse(apps, schema_editor):
|
||||
MailTrigger=apps.get_model('mailtrigger','MailTrigger')
|
||||
Recipient=apps.get_model('mailtrigger','Recipient')
|
||||
|
||||
MailTrigger.objects.filter(slug__in=['interim_announced','interim_cancelled']).delete()
|
||||
Recipient.objects.filter(slug='group_stream_announce').delete()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('mailtrigger', '0006_auto_20160707_1933'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(forward,reverse),
|
||||
]
|
|
@ -409,8 +409,7 @@ def get_announcement_initial(meeting, is_change=False):
|
|||
group = meeting.session_set.first().group
|
||||
in_person = bool(meeting.city)
|
||||
initial = {}
|
||||
initial['to'] = settings.INTERIM_ANNOUNCE_TO_EMAIL
|
||||
initial['cc'] = group.list_email
|
||||
(initial['to'],initial['cc']) = gather_address_lists('interim_announced',group=group)
|
||||
initial['frm'] = settings.INTERIM_ANNOUNCE_FROM_EMAIL
|
||||
if in_person:
|
||||
desc = 'Interim'
|
||||
|
@ -585,8 +584,7 @@ def send_interim_cancellation_notice(meeting):
|
|||
"""Sends an email that a scheduled interim meeting has been cancelled."""
|
||||
session = meeting.session_set.first()
|
||||
group = session.group
|
||||
to_email = settings.INTERIM_ANNOUNCE_TO_EMAIL
|
||||
(_, cc_list) = gather_address_lists('session_request_cancelled',group=group)
|
||||
(to_email, cc_list) = gather_address_lists('interim_cancelled',group=group)
|
||||
from_email = settings.INTERIM_ANNOUNCE_FROM_EMAIL
|
||||
subject = '{group} ({acronym}) {type} Interim Meeting Cancelled (was {date})'.format(
|
||||
group=group.name,
|
||||
|
|
|
@ -47,7 +47,7 @@ def make_meeting_test_data(meeting=None):
|
|||
room = Room.objects.create(meeting=meeting, name="Test Room", capacity=123, functional_name="Testing Ground")
|
||||
room.session_types.add("session")
|
||||
room.resources.add(projector)
|
||||
asname = RoomResourceName.objects.create(name='Audio Stream', slug='audiostream')
|
||||
asname = RoomResourceName.objects.get(slug='audiostream')
|
||||
UrlResource.objects.create(name=asname, room=room, url='http://ietf{number}streaming.dnsalias.net/ietf/ietf{number}1.m3u'.format(number=meeting.number))
|
||||
|
||||
# another room
|
||||
|
|
|
@ -197,9 +197,9 @@
|
|||
{
|
||||
"fields": {
|
||||
"order": 0,
|
||||
"revname": "Normatively Referenced by",
|
||||
"revname": "is normatively referenced by",
|
||||
"used": true,
|
||||
"name": "Normative Reference",
|
||||
"name": "normatively references",
|
||||
"desc": "Normative Reference"
|
||||
},
|
||||
"model": "name.docrelationshipname",
|
||||
|
@ -219,9 +219,9 @@
|
|||
{
|
||||
"fields": {
|
||||
"order": 0,
|
||||
"revname": "Informatively Referenced by",
|
||||
"revname": "is informatively referenced by",
|
||||
"used": true,
|
||||
"name": "Informative Reference",
|
||||
"name": "informatively references",
|
||||
"desc": "Informative Reference"
|
||||
},
|
||||
"model": "name.docrelationshipname",
|
||||
|
@ -816,7 +816,7 @@
|
|||
"posted"
|
||||
],
|
||||
"used": true,
|
||||
"name": "Awaiting Approval from Previous Version Authors'",
|
||||
"name": "Awaiting Approval from Previous Version Authors",
|
||||
"desc": ""
|
||||
},
|
||||
"model": "name.draftsubmissionstatename",
|
||||
|
@ -1060,6 +1060,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "Internet Engineering Task Force",
|
||||
"name": "IETF",
|
||||
"desc": ""
|
||||
},
|
||||
|
@ -1070,6 +1071,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "Area",
|
||||
"name": "Area",
|
||||
"desc": ""
|
||||
},
|
||||
|
@ -1080,6 +1082,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "Area Group",
|
||||
"name": "AG",
|
||||
"desc": "Area group"
|
||||
},
|
||||
|
@ -1090,6 +1093,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "Working Group",
|
||||
"name": "WG",
|
||||
"desc": "Working group"
|
||||
},
|
||||
|
@ -1100,6 +1104,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "Research Group",
|
||||
"name": "RG",
|
||||
"desc": "Research group"
|
||||
},
|
||||
|
@ -1110,6 +1115,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "Team",
|
||||
"name": "Team",
|
||||
"desc": ""
|
||||
},
|
||||
|
@ -1120,6 +1126,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "An Individual",
|
||||
"name": "Individual",
|
||||
"desc": ""
|
||||
},
|
||||
|
@ -1130,6 +1137,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "Standards Organization",
|
||||
"name": "SDO",
|
||||
"desc": "Standards organization"
|
||||
},
|
||||
|
@ -1140,6 +1148,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "Internet Research Task Force",
|
||||
"name": "IRTF",
|
||||
"desc": ""
|
||||
},
|
||||
|
@ -1150,6 +1159,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "The RFC Editor",
|
||||
"name": "RFC Editor",
|
||||
"desc": ""
|
||||
},
|
||||
|
@ -1160,6 +1170,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "IETF/IAB Nominating Committee",
|
||||
"name": "Nomcom",
|
||||
"desc": "An IETF/IAB Nominating Committee. Use 'SDO' for external nominating committees."
|
||||
},
|
||||
|
@ -1170,6 +1181,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "Internet Architecture Board",
|
||||
"name": "IAB",
|
||||
"desc": ""
|
||||
},
|
||||
|
@ -1180,6 +1192,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "The Internet Society",
|
||||
"name": "ISOC",
|
||||
"desc": ""
|
||||
},
|
||||
|
@ -1190,6 +1203,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"verbose_name": "Area Directorate",
|
||||
"name": "Directorate",
|
||||
"desc": "In many areas, the Area Directors have formed an advisory group or directorate. These comprise experienced members of the IETF and the technical community represented by the area. The specific name and the details of the role for each group differ from area to area, but the primary intent is that these groups assist the Area Director(s), e.g., with the review of specifications produced in the area."
|
||||
},
|
||||
|
@ -1980,7 +1994,7 @@
|
|||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"name": "Meetecho Remote Partition Support",
|
||||
"name": "Meetecho Support",
|
||||
"desc": "The room will have a meetecho wrangler"
|
||||
},
|
||||
"model": "name.roomresourcename",
|
||||
|
@ -1996,6 +2010,16 @@
|
|||
"model": "name.roomresourcename",
|
||||
"pk": "boardroom"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"name": "Audio Stream",
|
||||
"desc": "Audio streaming support"
|
||||
},
|
||||
"model": "name.roomresourcename",
|
||||
"pk": "audiostream"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"order": 0,
|
||||
|
@ -2036,16 +2060,6 @@
|
|||
"model": "name.sessionstatusname",
|
||||
"pk": "sched"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"name": "Scheduled - Announcement to be sent",
|
||||
"desc": ""
|
||||
},
|
||||
"model": "name.sessionstatusname",
|
||||
"pk": "scheda"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"order": 0,
|
||||
|
@ -2056,16 +2070,6 @@
|
|||
"model": "name.sessionstatusname",
|
||||
"pk": "canceled"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"name": "Cancelled - Pre Announcement",
|
||||
"desc": ""
|
||||
},
|
||||
"model": "name.sessionstatusname",
|
||||
"pk": "canceledpa"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"order": 0,
|
||||
|
@ -2096,6 +2100,26 @@
|
|||
"model": "name.sessionstatusname",
|
||||
"pk": "deleted"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"name": "Scheduled - Announcement to be sent",
|
||||
"desc": ""
|
||||
},
|
||||
"model": "name.sessionstatusname",
|
||||
"pk": "scheda"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"order": 0,
|
||||
"used": true,
|
||||
"name": "Cancelled - Pre Announcement",
|
||||
"desc": ""
|
||||
},
|
||||
"model": "name.sessionstatusname",
|
||||
"pk": "canceledpa"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"order": 0,
|
||||
|
@ -4693,14 +4717,6 @@
|
|||
"model": "mailtrigger.recipient",
|
||||
"pk": "group_chairs"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"template": null,
|
||||
"desc": "The group's secretaries"
|
||||
},
|
||||
"model": "mailtrigger.recipient",
|
||||
"pk": "group_secretaries"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"template": "{{ changed_personnel | join:\", \" }}",
|
||||
|
@ -4725,6 +4741,14 @@
|
|||
"model": "mailtrigger.recipient",
|
||||
"pk": "group_responsible_directors"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"template": null,
|
||||
"desc": "The group's secretaries"
|
||||
},
|
||||
"model": "mailtrigger.recipient",
|
||||
"pk": "group_secretaries"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"template": null,
|
||||
|
@ -4733,6 +4757,14 @@
|
|||
"model": "mailtrigger.recipient",
|
||||
"pk": "group_steering_group"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"template": "{% if group.stream_id == 'ietf' %}IETF-Announce <ietf-announce@ietf.org>{% elif group.stream_id == 'irtf' %}IRTF-Announce <irtf-announce@irtf.org>{% endif %}",
|
||||
"desc": "The group's stream's announce list"
|
||||
},
|
||||
"model": "mailtrigger.recipient",
|
||||
"pk": "group_stream_announce"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"template": "The IAB <iab@iab.org>",
|
||||
|
@ -4917,14 +4949,6 @@
|
|||
"model": "mailtrigger.recipient",
|
||||
"pk": "logged_in_person"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"template": "<ietf-manualpost@ietf.org>",
|
||||
"desc": "IETF manual post handling"
|
||||
},
|
||||
"model": "mailtrigger.recipient",
|
||||
"pk": "submission_manualpost_handling"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"template": "<new-work@ietf.org>",
|
||||
|
@ -5029,6 +5053,14 @@
|
|||
"model": "mailtrigger.recipient",
|
||||
"pk": "submission_group_mail_list"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"template": "<ietf-manualpost@ietf.org>",
|
||||
"desc": "IETF manual post handling"
|
||||
},
|
||||
"model": "mailtrigger.recipient",
|
||||
"pk": "submission_manualpost_handling"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"template": "{{submission.submitter}}",
|
||||
|
@ -5528,6 +5560,45 @@
|
|||
"model": "mailtrigger.mailtrigger",
|
||||
"pk": "group_personnel_change"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"cc": [
|
||||
"group_mail_list"
|
||||
],
|
||||
"to": [
|
||||
"ietf_announce"
|
||||
],
|
||||
"desc": "Recipients when an interim meeting is announced"
|
||||
},
|
||||
"model": "mailtrigger.mailtrigger",
|
||||
"pk": "interim_announced"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"cc": [],
|
||||
"to": [
|
||||
"iesg_secretary"
|
||||
],
|
||||
"desc": "Recipients when an interim meeting is approved and an announcement needs to be sent"
|
||||
},
|
||||
"model": "mailtrigger.mailtrigger",
|
||||
"pk": "interim_approved"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"cc": [
|
||||
"group_chairs",
|
||||
"group_mail_list",
|
||||
"logged_in_person"
|
||||
],
|
||||
"to": [
|
||||
"ietf_announce"
|
||||
],
|
||||
"desc": "Recipients when an interim meeting is cancelled"
|
||||
},
|
||||
"model": "mailtrigger.mailtrigger",
|
||||
"pk": "interim_cancelled"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"cc": [],
|
||||
|
@ -5854,6 +5925,20 @@
|
|||
"model": "mailtrigger.mailtrigger",
|
||||
"pk": "resurrection_requested"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"cc": [
|
||||
"group_responsible_directors"
|
||||
],
|
||||
"to": [
|
||||
"group_chairs",
|
||||
"group_secretaries"
|
||||
],
|
||||
"desc": "Recipients when a group is sent a reminder to submit minutes for a session"
|
||||
},
|
||||
"model": "mailtrigger.mailtrigger",
|
||||
"pk": "session_minutes_reminder"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"cc": [
|
||||
|
@ -5932,20 +6017,6 @@
|
|||
"model": "mailtrigger.mailtrigger",
|
||||
"pk": "session_scheduled"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"cc": [
|
||||
"group_responsible_directors"
|
||||
],
|
||||
"to": [
|
||||
"group_chairs",
|
||||
"group_secretaries"
|
||||
],
|
||||
"desc": "Recipients when a group is sent a reminder to submit minutes for a session"
|
||||
},
|
||||
"model": "mailtrigger.mailtrigger",
|
||||
"pk": "session_minutes_reminder"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"cc": [
|
||||
|
@ -6033,16 +6104,5 @@
|
|||
},
|
||||
"model": "mailtrigger.mailtrigger",
|
||||
"pk": "sub_new_version"
|
||||
},
|
||||
{
|
||||
"fields": {
|
||||
"cc": [],
|
||||
"to": [
|
||||
"iesg_secretary"
|
||||
],
|
||||
"desc": "Recipients when an interim meeting is approved and an announcement needs to be sent"
|
||||
},
|
||||
"model": "mailtrigger.mailtrigger",
|
||||
"pk": "interim_approved"
|
||||
}
|
||||
]
|
||||
|
|
|
@ -515,7 +515,6 @@ IDSUBMIT_ANNOUNCE_LIST_EMAIL = 'i-d-announce@ietf.org'
|
|||
|
||||
# Interim Meeting Tool settings
|
||||
INTERIM_ANNOUNCE_FROM_EMAIL = 'IESG Secretary <iesg-secretary@ietf.org>'
|
||||
INTERIM_ANNOUNCE_TO_EMAIL = 'IETF Announcement List <ietf-announce@ietf.org>'
|
||||
|
||||
# Days from meeting to day of cut off dates on submit -- cutoff_time_utc is added to this
|
||||
IDSUBMIT_DEFAULT_CUTOFF_DAY_OFFSET_00 = 13
|
||||
|
|
Loading…
Reference in a new issue