Projet

Général

Profil

0001-utils-handle-per-ou-template-in-send_templated_mail-.patch

Valentin Deniaud, 31 octobre 2019 10:48

Télécharger (3,56 ko)

Voir les différences:

Subject: [PATCH 1/2] utils: handle per ou template in send_templated_mail
 (#35774)

 src/authentic2/utils/__init__.py | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)
src/authentic2/utils/__init__.py
613 613

  
614 614
def send_templated_mail(user_or_email, template_names, context=None, with_html=True,
615 615
                        from_email=None, request=None, legacy_subject_templates=None,
616
                        legacy_body_templates=None, legacy_html_body_templates=None, **kwargs):
616
                        legacy_body_templates=None, legacy_html_body_templates=None,
617
                        per_ou_templates=False, **kwargs):
617 618
    '''Send mail to an user by using templates:
618 619
       - <template_name>_subject.txt for the subject
619 620
       - <template_name>_body.txt for the plain text body
......
622 623
    from .. import middleware
623 624
    if isinstance(template_names, six.string_types):
624 625
        template_names = [template_names]
626
    if per_ou_templates and getattr(user_or_email, 'ou', None):
627
        for i, template in enumerate(list(template_names)):
628
            template_names.insert(i * 2, '_'.join((template, user_or_email.ou.slug)))
625 629
    if hasattr(user_or_email, 'email'):
626 630
        user_or_email = user_or_email.email
627 631
    if not request:
......
751 755
        'deletion_url': deletion_url}
752 756
    template_names = [
753 757
        'authentic2/account_deletion_code']
754
    if user.ou:
755
        template_names.insert(0, 'authentic2/account_deletion_code_%s' % user.ou.slug)
756
    send_templated_mail(user.email, template_names, context, request=request)
758
    send_templated_mail(user, template_names, context, request=request, per_ou_templates=True)
757 759
    logger.info(u'account deletion code sent to %s', user.email)
758 760

  
759 761

  
......
769 771
        'site': request.get_host()}
770 772
    template_names = [
771 773
        'authentic2/account_delete_notification']
772
    if user.ou:
773
        template_names.insert(0, 'authentic2/account_delete_notification_%s' % user.ou.slug)
774
    send_templated_mail(user.email, template_names, context, request=request)
774
    send_templated_mail(user, template_names, context, request=request, per_ou_templates=True)
775 775
    logger.info(u'account deletion mail sent to %s', user.email)
776 776

  
777 777

  
......
826 826
                                                       set_random_password=set_random_password,
827 827
                                                       sign_next_url=sign_next_url)
828 828

  
829
    send_templated_mail(user.email, template_names, ctx, request=request,
829
    send_templated_mail(user, template_names, ctx, request=request,
830 830
                        legacy_subject_templates=legacy_subject_templates,
831
                        legacy_body_templates=legacy_body_templates, **kwargs)
831
                        legacy_body_templates=legacy_body_templates,
832
                        per_ou_templates=True, **kwargs)
832 833
    logger.info(u'password reset request for user %s, email sent to %s '
833 834
                'with token %s', user, user.email, token[:9])
834 835

  
835
-