Commit d8d85337 authored by sujayskumar's avatar sujayskumar Committed by Tim Graham
Browse files

Fixed #24944 -- Added extra_email_context parameter to password_reset() view.

parent aac2a2d2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -667,6 +667,7 @@ answer newbie questions, and generally made Django that much better:
    Stephen Burrows <stephen.r.burrows@gmail.com>
    Steven L. Smith (fvox13) <steven@stevenlsmith.com>
    Stuart Langridge <http://www.kryogenix.org/>
    Sujay S Kumar <sujay.skumar141295@gmail.com>
    Sune Kirkeby <http://ibofobi.dk/>
    Sung-Jin Hong <serialx.net@gmail.com>
    SuperJared
+4 −2
Original line number Diff line number Diff line
@@ -229,7 +229,8 @@ class PasswordResetForm(forms.Form):
             subject_template_name='registration/password_reset_subject.txt',
             email_template_name='registration/password_reset_email.html',
             use_https=False, token_generator=default_token_generator,
             from_email=None, request=None, html_email_template_name=None):
             from_email=None, request=None, html_email_template_name=None,
             extra_email_context=None):
        """
        Generates a one-use only link for resetting password and sends to the
        user.
@@ -251,7 +252,8 @@ class PasswordResetForm(forms.Form):
                'token': token_generator.make_token(user),
                'protocol': 'https' if use_https else 'http',
            }

            if extra_email_context is not None:
                context.update(extra_email_context)
            self.send_mail(subject_template_name, email_template_name,
                           context, from_email, user.email,
                           html_email_template_name=html_email_template_name)
+3 −1
Original line number Diff line number Diff line
@@ -175,7 +175,8 @@ def password_reset(request, is_admin_site=False,
                   post_reset_redirect=None,
                   from_email=None,
                   extra_context=None,
                   html_email_template_name=None):
                   html_email_template_name=None,
                   extra_email_context=None):
    if post_reset_redirect is None:
        post_reset_redirect = reverse('password_reset_done')
    else:
@@ -191,6 +192,7 @@ def password_reset(request, is_admin_site=False,
                'subject_template_name': subject_template_name,
                'request': request,
                'html_email_template_name': html_email_template_name,
                'extra_email_context': extra_email_context,
            }
            if is_admin_site:
                warnings.warn(
+3 −0
Original line number Diff line number Diff line
@@ -209,6 +209,9 @@ Minor features
  makes it possible to use ``REMOTE_USER`` for setups where the header is only
  populated on login pages instead of every request in the session.

* The :func:`~django.contrib.auth.views.password_reset` view accepts an
  ``extra_email_context`` parameter.

:mod:`django.contrib.contenttypes`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

+8 −1
Original line number Diff line number Diff line
@@ -1219,7 +1219,7 @@ implementation details see :ref:`using-the-views`.
        The ``current_app`` parameter is deprecated and will be removed in
        Django 2.0. Callers should set ``request.current_app`` instead.

.. function:: password_reset(request, is_admin_site=False, template_name='registration/password_reset_form.html', email_template_name='registration/password_reset_email.html', subject_template_name='registration/password_reset_subject.txt', password_reset_form=PasswordResetForm, token_generator=default_token_generator, post_reset_redirect=None, from_email=None, current_app=None, extra_context=None, html_email_template_name=None)
.. function:: password_reset(request, is_admin_site=False, template_name='registration/password_reset_form.html', email_template_name='registration/password_reset_email.html', subject_template_name='registration/password_reset_subject.txt', password_reset_form=PasswordResetForm, token_generator=default_token_generator, post_reset_redirect=None, from_email=None, current_app=None, extra_context=None, html_email_template_name=None, extra_email_context=None)

    Allows a user to reset their password by generating a one-time use link
    that can be used to reset the password, and sending that link to the
@@ -1280,6 +1280,9 @@ implementation details see :ref:`using-the-views`.
      for generating a ``text/html`` multipart email with the password reset
      link. By default, HTML email is not sent.

    * ``extra_email_context``: A dictionary of context data that will available
      in the email template.

    .. deprecated:: 1.8

        The ``is_admin_site`` argument is deprecated and will be removed in
@@ -1290,6 +1293,10 @@ implementation details see :ref:`using-the-views`.
        The ``current_app`` parameter is deprecated and will be removed in
        Django 2.0. Callers should set ``request.current_app`` instead.

    .. versionadded:: 1.9

        The ``extra_email_context`` parameter was added.

    **Template context:**

    * ``form``: The form (see ``password_reset_form`` above) for resetting
Loading