diff options
Diffstat (limited to 'mediagoblin/auth/lib.py')
-rw-r--r-- | mediagoblin/auth/lib.py | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/mediagoblin/auth/lib.py b/mediagoblin/auth/lib.py index dc5f9941..08bbdd16 100644 --- a/mediagoblin/auth/lib.py +++ b/mediagoblin/auth/lib.py @@ -19,8 +19,8 @@ import random import bcrypt -from mediagoblin.util import send_email -from mediagoblin import globals as mgoblin_globals +from mediagoblin.util import send_email, render_template +from mediagoblin import mg_globals def bcrypt_check_password(raw_pass, stored_hash, extra_salt=None): @@ -89,6 +89,10 @@ def fake_login_attempt(): randplus_stored_hash == randplus_hashed_pass +EMAIL_VERIFICATION_TEMPLATE = ( + u"http://{host}{uri}?" + u"userid={userid}&token={verification_key}") + def send_verification_email(user, request): """ Send the verification email to users to activate their accounts. @@ -97,13 +101,18 @@ def send_verification_email(user, request): - user: a user object - request: the request """ - - email_template = request.template_env.get_template( - 'mediagoblin/auth/verification_email.txt') + rendered_email = render_template( + request, 'mediagoblin/auth/verification_email.txt', + {'username': user['username'], + 'verification_url': EMAIL_VERIFICATION_TEMPLATE.format( + host=request.host, + uri=request.urlgen('mediagoblin.auth.verify_email'), + userid=unicode(user['_id']), + verification_key=user['verification_key'])}) # TODO: There is no error handling in place send_email( - mgoblin_globals.email_sender_address, + mg_globals.email_sender_address, [user['email']], # TODO # Due to the distributed nature of GNU MediaGoblin, we should @@ -111,10 +120,4 @@ def send_verification_email(user, request): # specific GNU MediaGoblin instance in the subject line. For # example "GNU MediaGoblin @ Wandborg - [...]". 'GNU MediaGoblin - Verify your email!', - email_template.render( - username=user['username'], - verification_url='http://{host}{uri}?userid={userid}&token={verification_key}'.format( - host=request.host, - uri=request.urlgen('mediagoblin.auth.verify_email'), - userid=unicode(user['_id']), - verification_key=user['verification_key']))) + rendered_email) |