diff --git a/ietf/group/edit.py b/ietf/group/edit.py index dce047236..390a34495 100644 --- a/ietf/group/edit.py +++ b/ietf/group/edit.py @@ -21,7 +21,8 @@ from ietf.group.utils import get_group_or_404 from ietf.ietfauth.utils import has_role from ietf.person.fields import SearchableEmailsField from ietf.person.models import Person, Email -from ietf.group.mails import email_iesg_secretary_re_charter, email_iesg_secretary_personnel_change +from ietf.group.mails import ( email_iesg_secretary_re_charter, email_iesg_secretary_personnel_change, + email_interested_parties_re_changed_delegates ) from ietf.utils.ordereddict import insert_after_in_ordered_dict MAX_GROUP_DELEGATES = 3 @@ -275,6 +276,7 @@ def edit(request, group_type=None, acronym=None, action="edit"): if deleted: change_text=title + ' deleted: ' + ", ".join(x.formatted_email() for x in deleted) personnel_change_text+=change_text+"\n" + email_interested_parties_re_changed_delegates(request, group, title, added, deleted) if personnel_change_text!="": email_iesg_secretary_personnel_change(request, group, personnel_change_text) diff --git a/ietf/group/mails.py b/ietf/group/mails.py index 91743e457..290a6e2a3 100644 --- a/ietf/group/mails.py +++ b/ietf/group/mails.py @@ -32,6 +32,38 @@ def email_iesg_secretary_personnel_change(request, group, text): full_subject = u"Personnel change for %s working group" % (group.acronym) send_mail_text(request, to, None, full_subject,text) +def email_interested_parties_re_changed_delegates(request, group, title, added, deleted): + + # Send to management and chairs + to = [] + if group.ad_role(): + to.append(group.ad_role().email.formatted_email()) + elif group.type_id == "rg": + to.append("IRTF Chair ") + + for r in group.role_set.filter(name="chair"): + to.append(r.formatted_email()) + + # Send to the delegates who were added or deleted + for delegate in added: + to.append(delegate.formatted_email()) + + for delegate in deleted: + to.append(delegate.formatted_email()) + + personnel_change_text="" + if added: + change_text=title + ' added: ' + ", ".join(x.formatted_email() for x in added) + personnel_change_text+=change_text+"\n" + if deleted: + change_text=title + ' deleted: ' + ", ".join(x.formatted_email() for x in deleted) + personnel_change_text+=change_text+"\n" + + if to: + full_subject = u"%s changed for %s working group" % (title, group.acronym) + send_mail_text(request, to, None, full_subject,personnel_change_text) + + def email_milestones_changed(request, group, changes): def wrap_up_email(to, text):