Added functionality to support user email verification, email = TBD, verification = done.
Signed-off-by: Joar Wandborg <git@wandborg.com>
This commit is contained in:
@@ -24,4 +24,6 @@ auth_routes = [
|
||||
Route('mediagoblin.auth.login', '/login/',
|
||||
controller='mediagoblin.auth.views:login'),
|
||||
Route('mediagoblin.auth.logout', '/logout/',
|
||||
controller='mediagoblin.auth.views:logout')]
|
||||
controller='mediagoblin.auth.views:logout'),
|
||||
Route('mediagoblin.auth.verify_email', '/verify_email/',
|
||||
controller='mediagoblin.auth.views:verify_email')]
|
||||
|
||||
@@ -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}))
|
||||
|
||||
Reference in New Issue
Block a user