Merged in [16287] from rjsparks@nostrum.com:
Send mail to a list when a new IETF WG -00 is submitted. Fixes #2730.
- Legacy-Id: 16289
Note: SVN reference [16287] has been migrated to Git commit 9ace7db719
This commit is contained in:
commit
13705976e2
39
ietf/mailtrigger/migrations/0006_sub_new_wg_00.py
Normal file
39
ietf/mailtrigger/migrations/0006_sub_new_wg_00.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
# Copyright The IETF Trust 2019, All Rights Reserved
|
||||
# -*- 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 = 'new_wg_doc_list',
|
||||
desc = "The email list for announcing new WG -00 submissions",
|
||||
template = '<new-wg-docs@ietf.org>'
|
||||
)
|
||||
changed = MailTrigger.objects.create(
|
||||
slug = 'sub_new_wg_00',
|
||||
desc = 'Recipients when a new IETF WG -00 draft is announced',
|
||||
)
|
||||
changed.to.set(Recipient.objects.filter(slug__in=['new_wg_doc_list']))
|
||||
|
||||
|
||||
def reverse(apps, schema_editor):
|
||||
MailTrigger = apps.get_model('mailtrigger','MailTrigger')
|
||||
Recipient = apps.get_model('mailtrigger', 'Recipient')
|
||||
|
||||
MailTrigger.objects.filter(slug='sub_new_wg_00').delete()
|
||||
Recipient.objects.filter(slug='new_wg_doc_list').delete()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('mailtrigger', '0005_slides_proposed'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(forward,reverse)
|
||||
]
|
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,5 @@
|
|||
# Copyright The IETF Trust 2013-2019, All Rights Reserved
|
||||
|
||||
import re
|
||||
import email
|
||||
import datetime
|
||||
|
@ -116,6 +118,28 @@ def announce_to_lists(request, submission):
|
|||
send_mail_message(request, m)
|
||||
|
||||
|
||||
def announce_new_wg_00(request, submission):
|
||||
m = Message()
|
||||
m.by = Person.objects.get(name="(System)")
|
||||
if request.user.is_authenticated:
|
||||
try:
|
||||
m.by = request.user.person
|
||||
except Person.DoesNotExist:
|
||||
pass
|
||||
m.subject = 'I-D Action: %s-%s.txt' % (submission.name, submission.rev)
|
||||
m.frm = settings.IDSUBMIT_ANNOUNCE_FROM_EMAIL
|
||||
(m.to, m.cc) = gather_address_lists('sub_new_wg_00',submission=submission)
|
||||
if m.cc:
|
||||
m.reply_to = m.cc
|
||||
m.body = render_to_string('submit/announce_to_lists.txt',
|
||||
dict(submission=submission,
|
||||
settings=settings))
|
||||
m.save()
|
||||
m.related_docs.add(Document.objects.get(name=submission.name))
|
||||
|
||||
send_mail_message(request, m)
|
||||
|
||||
|
||||
def announce_new_version(request, submission, draft, state_change_msg):
|
||||
(to_email,cc) = gather_address_lists('sub_new_version',doc=draft,submission=submission)
|
||||
|
||||
|
|
|
@ -288,7 +288,9 @@ class SubmitTests(TestCase):
|
|||
self.assertTrue(draft.relations_that_doc("replaces").first().target, replaced_alias)
|
||||
self.assertEqual(draft.relations_that_doc("possibly-replaces").count(), 1)
|
||||
self.assertTrue(draft.relations_that_doc("possibly-replaces").first().target, sug_replaced_alias)
|
||||
self.assertEqual(len(outbox), mailbox_before + 4)
|
||||
self.assertEqual(len(outbox), mailbox_before + 5)
|
||||
self.assertIn((u"I-D Action: %s" % name), outbox[-4]["Subject"])
|
||||
self.assertIn(author.ascii, unicode(outbox[-4]))
|
||||
self.assertIn((u"I-D Action: %s" % name), outbox[-3]["Subject"])
|
||||
self.assertIn(author.ascii, unicode(outbox[-3]))
|
||||
self.assertIn("New Version Notification",outbox[-2]["Subject"])
|
||||
|
|
|
@ -26,7 +26,7 @@ from ietf.name.models import StreamName, FormalLanguageName
|
|||
from ietf.person.models import Person, Email
|
||||
from ietf.community.utils import update_name_contains_indexes_with_new_doc
|
||||
from ietf.submit.mail import ( announce_to_lists, announce_new_version, announce_to_authors,
|
||||
send_approval_request_to_group, send_submission_confirmation )
|
||||
send_approval_request_to_group, send_submission_confirmation, announce_new_wg_00 )
|
||||
from ietf.submit.models import Submission, SubmissionEvent, Preapproval, DraftSubmissionStateName, SubmissionCheck
|
||||
from ietf.utils import log
|
||||
from ietf.utils.accesstoken import generate_random_key
|
||||
|
@ -364,6 +364,8 @@ def post_submission(request, submission, approvedDesc):
|
|||
update_name_contains_indexes_with_new_doc(draft)
|
||||
|
||||
announce_to_lists(request, submission)
|
||||
if submission.group and submission.group.type_id == 'wg' and draft.rev == '00':
|
||||
announce_new_wg_00(request, submission)
|
||||
announce_new_version(request, submission, draft, state_change_msg)
|
||||
announce_to_authors(request, submission)
|
||||
|
||||
|
|
Loading…
Reference in a new issue