diff options
author | Joar Wandborg <git@wandborg.com> | 2011-05-03 19:49:39 +0200 |
---|---|---|
committer | Joar Wandborg <git@wandborg.com> | 2011-05-03 19:51:19 +0200 |
commit | db1a438f3e6f8c5c8cec20b9326a21baf4579306 (patch) | |
tree | d05b14111b863b62dd171e1b77411471e9e6db31 /mediagoblin/auth/views.py | |
parent | 3dca2776a63886adcaac4bde188fb9ec8e74cfe2 (diff) | |
download | mediagoblin-db1a438f3e6f8c5c8cec20b9326a21baf4579306.tar.lz mediagoblin-db1a438f3e6f8c5c8cec20b9326a21baf4579306.tar.xz mediagoblin-db1a438f3e6f8c5c8cec20b9326a21baf4579306.zip |
Added functionality to support user email verification, email = TBD, verification = done.
Signed-off-by: Joar Wandborg <git@wandborg.com>
Diffstat (limited to 'mediagoblin/auth/views.py')
-rw-r--r-- | mediagoblin/auth/views.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/mediagoblin/auth/views.py b/mediagoblin/auth/views.py index 15e33e17..dfb6899f 100644 --- a/mediagoblin/auth/views.py +++ b/mediagoblin/auth/views.py @@ -116,3 +116,26 @@ def logout(request): return exc.HTTPFound( location=request.urlgen("index")) + +def verify_email(request): + import bson.objectid + user = request.db.User.find_one( + {'_id': bson.objectid.ObjectId( unicode( request.GET.get('userid') ) )}) + + verification_successful = bool + + if user and user['verification_key'] == unicode( request.GET.get('token') ): + user['status'] = u'active' + user['email_verified'] = True + verification_successful = True + user.save() + else: + verification_successful = False + + template = request.template_env.get_template( + 'mediagoblin/auth/verify_email.html') + return Response( + template.render( + {'request': request, + 'user': user, + 'verification_successful': verification_successful})) |