|
13 | 13 | from ietf.doc.utils import needed_ballot_positions |
14 | 14 | from ietf.person.models import Person |
15 | 15 | from ietf.group.models import Group, Role |
| 16 | +from ietf.doc.models import Document |
16 | 17 |
|
17 | 18 | def email_state_changed(request, doc, text): |
18 | 19 | to = [x.strip() for x in doc.notify.replace(';', ',').split(',')] |
@@ -500,11 +501,15 @@ def send_review_possibly_replaces_request(request, doc): |
500 | 501 | elif doc.stream_id == "irtf": |
501 | 502 | to_email.append("IRSG <irsg@irtf.org>") |
502 | 503 |
|
| 504 | + possibly_replaces = Document.objects.filter(name__in=[alias.name for alias in doc.related_that_doc("possibly-replaces")]) |
| 505 | + other_chairs = Role.objects.filter(group__in=[other.group for other in possibly_replaces], name="chair").select_related("email", "person") |
| 506 | + to_email.extend(r.formatted_email() for r in other_chairs) |
| 507 | + |
503 | 508 | if not to_email: |
504 | 509 | to_email.append("internet-drafts@ietf.org") |
505 | 510 |
|
506 | 511 | if to_email: |
507 | | - send_mail(request, to_email, settings.DEFAULT_FROM_EMAIL, |
| 512 | + send_mail(request, list(set(to_email)), settings.DEFAULT_FROM_EMAIL, |
508 | 513 | 'Review of suggested possible replacements for %s-%s needed' % (doc.name, doc.rev), |
509 | 514 | 'doc/mail/review_possibly_replaces_request.txt', { |
510 | 515 | 'doc': doc, |
|
0 commit comments