@@ -456,43 +456,23 @@ def rebuild_reference_relations(doc,filename=None):
456456
457457 return ret
458458
459- def collect_email_addresses (emails , doc ):
460- for author in doc .authors .all ():
461- if author .address not in emails :
462- emails [author .address ] = '"%s"' % (author .person .name )
463- if doc .group and doc .group .acronym != 'none' :
464- for role in doc .group .role_set .filter (name = 'chair' ):
465- if role .email .address not in emails :
466- emails [role .email .address ] = '"%s"' % (role .person .name )
467- if doc .group .type .slug == 'wg' :
468- address = '%s-ads@tools.ietf.org' % doc .group .acronym
469- if address not in emails :
470- emails [address ] = '"%s-ads"' % (doc .group .acronym )
471- elif doc .group .type .slug == 'rg' :
472- for role in doc .group .parent .role_set .filter (name = 'chair' ):
473- if role .email .address not in emails :
474- emails [role .email .address ] = '"%s"' % (role .person .name )
475- if doc .shepherd and doc .shepherd .address not in emails :
476- emails [doc .shepherd .address ] = u'"%s"' % (doc .shepherd .person .name or "" )
477-
478459def set_replaces_for_document (request , doc , new_replaces , by , email_subject , email_comment = "" ):
479- emails = {}
480- collect_email_addresses (emails , doc )
460+ to = gather_address_list ('doc_replacement_changed' ,doc = doc )
481461
482462 relationship = DocRelationshipName .objects .get (slug = 'replaces' )
483463 old_replaces = doc .related_that_doc ("replaces" )
484464
485465 for d in old_replaces :
486466 if d not in new_replaces :
487- collect_email_addresses ( emails , d .document )
467+ to . extend ( gather_address_list ( 'doc_replacement_changed' , doc = d .document ) )
488468 RelatedDocument .objects .filter (source = doc , target = d , relationship = relationship ).delete ()
489469 if not RelatedDocument .objects .filter (target = d , relationship = relationship ):
490470 s = 'active' if d .document .expires > datetime .datetime .now () else 'expired'
491471 d .document .set_state (State .objects .get (type = 'draft' , slug = s ))
492472
493473 for d in new_replaces :
494474 if d not in old_replaces :
495- collect_email_addresses ( emails , d .document )
475+ to . extend ( gather_address_list ( 'doc_replacement_changed' , doc = d .document ) )
496476 RelatedDocument .objects .create (source = doc , target = d , relationship = relationship )
497477 d .document .set_state (State .objects .get (type = 'draft' , slug = 'repl' ))
498478
@@ -510,10 +490,7 @@ def set_replaces_for_document(request, doc, new_replaces, by, email_subject, ema
510490 if email_comment :
511491 email_desc += "\n " + email_comment
512492
513- to = [
514- u'%s <%s>' % (emails [email ], email ) if emails [email ] else u'<%s>' % email
515- for email in sorted (emails )
516- ]
493+ to = list (set ([addr for addr in to if addr ]))
517494
518495 from ietf .doc .mails import html_to_text
519496
0 commit comments