Commits

Anonymous committed bf28685

Fixed #2375 -- Changed password_reset auth view to make e-mail template name variable. Thanks, treborhudson@gmail.com

Comments (0)

Files changed (2)

django/contrib/auth/forms.py

         except User.DoesNotExist:
             raise validators.ValidationError, "That e-mail address doesn't have an associated user acount. Are you sure you've registered?"
 
-    def save(self, domain_override=None):
+    def save(self, domain_override=None, email_template_name='registration/password_reset_email.html'):
         "Calculates a new password randomly and sends it to the user"
         from django.core.mail import send_mail
         new_pass = User.objects.make_random_password()
             domain = current_site.domain
         else:
             site_name = domain = domain_override
-        t = loader.get_template('registration/password_reset_email.html')
+        t = loader.get_template(email_template_name)
         c = {
             'new_password': new_pass,
             'email': self.user_cache.email,

django/contrib/auth/views.py

     "Redirects the user to the login page, passing the given 'next' page"
     return HttpResponseRedirect('%s?%s=%s' % (login_url, REDIRECT_FIELD_NAME, next))
 
-def password_reset(request, is_admin_site=False, template_name='registration/password_reset_form.html'):
+def password_reset(request, is_admin_site=False, template_name='registration/password_reset_form.html',
+        email_template_name='registration/password_reset_email.html'):
     new_data, errors = {}, {}
     form = PasswordResetForm()
     if request.POST:
         errors = form.get_validation_errors(new_data)
         if not errors:
             if is_admin_site:
-                form.save(request.META['HTTP_HOST'])
+                form.save(domain_override=request.META['HTTP_HOST'])
             else:
-                form.save()
+                form.save(email_template_name=email_template_name)
             return HttpResponseRedirect('%sdone/' % request.path)
     return render_to_response(template_name, {'form': forms.FormWrapper(form, new_data, errors)},
         context_instance=RequestContext(request))