Projet

Général

Profil

0001-profile-use-request-context-to-send-password-reset-e.patch

Frédéric Péters, 01 décembre 2015 13:46

Télécharger (2,8 ko)

Voir les différences:

Subject: [PATCH] profile: use request context to send password reset email
 (#9166)

 src/authentic2/profile_forms.py | 18 +++++++++++++++---
 src/authentic2/profile_views.py |  2 +-
 2 files changed, 16 insertions(+), 4 deletions(-)
src/authentic2/profile_forms.py
1 1
import logging
2
import urllib
2 3

  
3 4
from django import forms
5
from django.core.urlresolvers import reverse
4 6
from django.utils.translation import ugettext as _
5 7
from django.utils.http import urlsafe_base64_encode
6 8
from django.utils.encoding import force_bytes
7
from django.template import loader, TemplateDoesNotExist
9
from django.template import loader, RequestContext, TemplateDoesNotExist
8 10
from django.contrib.auth import get_user_model
9 11
from django.contrib.auth.tokens import default_token_generator
10 12
from django.conf import settings
......
36 38
                continue
37 39
            site_name = domain = request.get_host()
38 40

  
39
            c = {
41
            c = RequestContext(request)
42
            c.update({
40 43
                'email': user.email,
41 44
                'domain': domain,
42 45
                'site_name': site_name,
......
46 49
                'protocol': 'https' if use_https else 'http',
47 50
                'request': request,
48 51
                'expiration_days': settings.PASSWORD_RESET_TIMEOUT_DAYS,
49
            }
52
            })
53

  
54
            c['reset_url'] = request.build_absolute_uri(
55
                    reverse('password_reset_confirm', kwargs={
56
                        'uidb64': c['uid'],
57
                        'token': c['token']}))
58
            if 'next' in request.GET:
59
                c['reset_url'] += '?' + urllib.urlencode(
60
                    {'next': request.GET['next']})
61

  
50 62
            subject = loader.render_to_string(subject_template_name, c)
51 63
            # Email subject *must not* contain newlines
52 64
            subject = ''.join(subject.splitlines())
src/authentic2/profile_views.py
19 19
        'registration/password_reset_email.html',
20 20
    ]
21 21
    html_email_template_name = [
22
        'authentic2/password_reset_email_body.txt',
22
        'authentic2/password_reset_email_body.html',
23 23
    ]
24 24
    subject_template_name = [
25 25
        'authentic2/password_reset_email_subject.txt',
26
-