Mail Recipients

Recipient Triggers Template Code
submission_confirmers sub_announced_to_authors, sub_confirmation_requested, sub_management_url_requested None
    def gather_submission_confirmers(self, **kwargs):
        """If a submitted document is revising an existing document, the confirmers 
           are the authors of that existing document, and the chairs if the document is
           a working group document and the author list has changed. Otherwise, the confirmers
           are the authors and submitter of the submitted document."""

        if 'submission' in kwargs:
            submission = kwargs['submission']
            if doc:
                old_authors = [ author for author in doc.documentauthor_set.all() if ]

                addrs.extend([ author.formatted_email() for author in old_authors])

                old_author_email_set = set( for author in old_authors)
                new_author_email_set = set(author["email"] for author in submission.authors if author.get("email"))

                if and old_author_email_set != new_author_email_set:
                    if in ['wg','rg','ag']:
                    elif in ['area']:
                    if doc.stream_id and doc.stream_id not in ['ietf']:
                # This is a bit roundabout, but we do it to get consistent and unicode-compliant
                # email names for known persons, without relying on the name parsed from the
                # draft (which might be ascii, also for persons with non-ascii names)
                emails = [ Email.objects.filter(address=author['email']).first() or author for author in submission.authors if author.get('email') ]
                addrs.extend([ e.formatted_email() if isinstance(e, Email) else formataddr((e["name"], e["email"])) for e in emails ] )
                submitter_email = submission.submitter_parsed()["email"]
                if submitter_email and not submitter_email in [ parseaddr(a)[1] for a in addrs ]:
        return addrs