Skip to content

Commit 1043577

Browse files
committed
Merged in [11664] from rcross@amsl.com:
Send email to secretariat when an interim meeting has been approved and is waiting for announcement. - Legacy-Id: 11685 Note: SVN reference [11664] has been migrated to Git commit 54969aa
2 parents d5d9d10 + 54969aa commit 1043577

4 files changed

Lines changed: 41 additions & 1 deletion

File tree

ietf/meeting/helpers.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,23 @@ def send_interim_approval_request(meetings):
562562
context,
563563
cc=cc_list)
564564

565+
def send_interim_announcement_request(meeting):
566+
"""Sends an email to the secretariat that approval has been granted for an
567+
interim meeting which includes the link to send the official announcement"""
568+
group = meeting.session_set.first().group
569+
requester = meeting.session_set.first().requested_by
570+
(to_email, cc_list) = gather_address_lists('session_requested',group=group,person=requester)
571+
from_email = ('"IETF Meeting Session Request Tool"','session_request_developers@ietf.org')
572+
subject = '{group} - Interim Meeting Approved'.format(group=group.acronym)
573+
template = 'meeting/interim_announcement_request.txt'
574+
announce_url = settings.IDTRACKER_BASE_URL + reverse('ietf.meeting.views.interim_request_details', kwargs={'number': meeting.number})
575+
context = locals()
576+
send_mail(None,
577+
to_email,
578+
from_email,
579+
subject,
580+
template,
581+
context,)
565582

566583
def send_interim_cancellation_notice(meeting):
567584
"""Sends an email that a scheduled interim meeting has been cancelled."""

ietf/meeting/tests_views.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -565,7 +565,20 @@ def test_interim_send_announcement(self):
565565
self.assertEqual(len(outbox), len_before + 1)
566566
self.assertTrue('WG Virtual Meeting' in outbox[-1]['Subject'])
567567

568-
def test_interim_approve(self):
568+
def test_interim_approve_by_ad(self):
569+
make_meeting_test_data()
570+
meeting = Meeting.objects.filter(type='interim', session__status='apprw', session__group__acronym='mars').first()
571+
url = urlreverse('ietf.meeting.views.interim_request_details', kwargs={'number': meeting.number})
572+
length_before = len(outbox)
573+
login_testing_unauthorized(self, "ad", url)
574+
r = self.client.post(url, {'approve': 'approve'})
575+
self.assertRedirects(r, urlreverse('ietf.meeting.views.interim_pending'))
576+
for session in meeting.session_set.all():
577+
self.assertEqual(session.status.slug, 'scheda')
578+
self.assertEqual(len(outbox), length_before + 1)
579+
self.assertTrue('Approved' in outbox[-1]['Subject'])
580+
581+
def test_interim_approve_by_secretariat(self):
569582
make_meeting_test_data()
570583
meeting = Meeting.objects.filter(type='interim', session__status='apprw', session__group__acronym='mars').first()
571584
url = urlreverse('ietf.meeting.views.interim_request_details', kwargs={'number': meeting.number})

ietf/meeting/views.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
from ietf.meeting.helpers import sessions_post_save, is_meeting_approved
4848
from ietf.meeting.helpers import send_interim_cancellation_notice
4949
from ietf.meeting.helpers import send_interim_approval_request
50+
from ietf.meeting.helpers import send_interim_announcement_request
5051
from ietf.utils.mail import send_mail_message
5152
from ietf.utils.pipe import pipe
5253
from ietf.utils.pdf import pdf_pages
@@ -1281,6 +1282,7 @@ def interim_request_details(request, number):
12811282
if has_role(request.user, 'Secretariat'):
12821283
return redirect(interim_send_announcement, number=number)
12831284
else:
1285+
send_interim_announcement_request(meeting)
12841286
return redirect(interim_pending)
12851287
if request.POST.get('disapprove') and can_approve_interim_request(meeting, request.user):
12861288
meeting.session_set.update(status_id='disappr')
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{% load ams_filters %}{% load ietf_filters %}
2+
An interim meeting for {{ group.acronym }} has just been approved.
3+
4+
Use this link to officially announce the meeting:
5+
{{ announce_url }}
6+
7+
8+
{% include "meeting/interim_info.txt" %}

0 commit comments

Comments
 (0)