aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/auth/views.py
diff options
context:
space:
mode:
authorJoar Wandborg <git@wandborg.com>2011-05-03 19:49:39 +0200
committerJoar Wandborg <git@wandborg.com>2011-05-03 19:51:19 +0200
commitdb1a438f3e6f8c5c8cec20b9326a21baf4579306 (patch)
treed05b14111b863b62dd171e1b77411471e9e6db31 /mediagoblin/auth/views.py
parent3dca2776a63886adcaac4bde188fb9ec8e74cfe2 (diff)
downloadmediagoblin-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.py23
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}))