# HG changeset patch # User Gustavo Andres Morero # Date 1530623234 10800 # Tue Jul 03 10:07:14 2018 -0300 # Node ID 4d2785002f3ae374ecfc141ae6523f4f5ca7fc2e # Parent 50e1b2bf7b42750d875be2ec49c9ab9a414b7e24 request param on password reset view. diff --git a/webutils/baseacct/models.py b/webutils/baseacct/models.py --- a/webutils/baseacct/models.py +++ b/webutils/baseacct/models.py @@ -15,13 +15,14 @@ random_string = User.objects.make_random_password() return hashlib.sha1((salt + random_string).encode('utf-8')).hexdigest() - def send_user_email(self, user, subject, context, template): + def send_user_email(self, user, subject, context, template, request=None): send_simple_email( user.email, subject, context, template, is_template_file=True, + request=request, ) def add_new_user(self, username, password, email, first_name, last_name): @@ -34,7 +35,7 @@ # User Profile return self.create(user=new_user) - def reset_user_password(self, key): + def reset_user_password(self, key, request=None): import re if re.match('^[a-f0-9]{40}$', key): @@ -59,7 +60,8 @@ user, subject, ctext, - 'baseacct/reset_email_done.txt' + 'baseacct/reset_email_done.txt', + request=request, ) return user return False diff --git a/webutils/baseacct/views.py b/webutils/baseacct/views.py --- a/webutils/baseacct/views.py +++ b/webutils/baseacct/views.py @@ -38,6 +38,7 @@ subject, ctext, 'baseacct/reset_email.txt', + request=request, ) msg = ('An email has been sent to %s. Please follow the ' @@ -50,7 +51,10 @@ }) else: if key is not None: - user = profile_model.objects.reset_user_password(key) + user = profile_model.objects.reset_user_password( + key, + request=request, + ) if user: msg = ('We have reset your password. You will receive an ' 'email shortly containing your new password. Use ' diff --git a/webutils/djtools/email.py b/webutils/djtools/email.py --- a/webutils/djtools/email.py +++ b/webutils/djtools/email.py @@ -4,7 +4,8 @@ def send_simple_email(recip, subject, context, template, from_email=None, - is_template_file=True, fail_silently=False): + is_template_file=True, fail_silently=False, + request=None): if is_template_file: # Load template from actual file in templates dir msg_template = loader.get_template(template) @@ -14,7 +15,7 @@ msg_dict = { 'from_email': from_email or settings.DEFAULT_FROM_EMAIL, - 'message': msg_template.render(context), + 'message': msg_template.render(context, request), 'recipient_list': isinstance(recip, list) and recip or [recip], 'subject': subject, }