Remove mongolisms from auth.views

Remove find find_one etc and use sqlalchemy syntax
This commit is contained in:
Sebastian Spaeth 2012-12-21 10:35:05 +01:00
parent 10f1f2f56b
commit 70f8b2d046

View File

@ -17,11 +17,10 @@
import uuid import uuid
import datetime import datetime
from mediagoblin import messages from mediagoblin import messages, mg_globals
from mediagoblin import mg_globals from mediagoblin.db.sql.models import User
from mediagoblin.tools.response import render_to_response, redirect, render_404 from mediagoblin.tools.response import render_to_response, redirect, render_404
from mediagoblin.tools.translate import pass_to_ugettext as _ from mediagoblin.tools.translate import pass_to_ugettext as _
from mediagoblin.db.util import ObjectId, InvalidId
from mediagoblin.auth import lib as auth_lib from mediagoblin.auth import lib as auth_lib
from mediagoblin.auth import forms as auth_forms from mediagoblin.auth import forms as auth_forms
from mediagoblin.auth.lib import send_verification_email, \ from mediagoblin.auth.lib import send_verification_email, \
@ -61,10 +60,8 @@ def register(request):
em_user, em_dom = unicode(request.form['email']).split("@", 1) em_user, em_dom = unicode(request.form['email']).split("@", 1)
em_dom = em_dom.lower() em_dom = em_dom.lower()
email = em_user + "@" + em_dom email = em_user + "@" + em_dom
users_with_username = request.db.User.find( users_with_username = User.query.filter_by(username=username).count()
{'username': username}).count() users_with_email = User.query.filter_by(email=email).count()
users_with_email = request.db.User.find(
{'email': email}).count()
extra_validation_passes = True extra_validation_passes = True
@ -79,7 +76,7 @@ def register(request):
if extra_validation_passes: if extra_validation_passes:
# Create the user # Create the user
user = request.db.User() user = User()
user.username = username user.username = username
user.email = email user.email = email
user.pw_hash = auth_lib.bcrypt_gen_password_hash( user.pw_hash = auth_lib.bcrypt_gen_password_hash(
@ -118,8 +115,7 @@ def login(request):
login_failed = False login_failed = False
if request.method == 'POST' and login_form.validate(): if request.method == 'POST' and login_form.validate():
user = request.db.User.find_one( user = User.query.filter_by(username=request.form['username'].lower()).first()
{'username': request.form['username'].lower()})
if user and user.check_login(request.form['password']): if user and user.check_login(request.form['password']):
# set up login in session # set up login in session
@ -164,8 +160,7 @@ def verify_email(request):
if not 'userid' in request.GET or not 'token' in request.GET: if not 'userid' in request.GET or not 'token' in request.GET:
return render_404(request) return render_404(request)
user = request.db.User.find_one( user = User.query.filter_by(id=request.args['userid']).first()
{'id': ObjectId(unicode(request.GET['userid']))})
if user and user.verification_key == unicode(request.GET['token']): if user and user.verification_key == unicode(request.GET['token']):
user.status = u'active' user.status = u'active'
@ -240,11 +235,9 @@ def forgot_password(request):
if request.method == 'POST' and fp_form.validate(): if request.method == 'POST' and fp_form.validate():
# '$or' not available till mongodb 1.5.3 # '$or' not available till mongodb 1.5.3
user = request.db.User.find_one( user = User.query.filter_by(username=request.form['username']).first()
{'username': request.form['username']})
if not user: if not user:
user = request.db.User.find_one( user = User.query.filter_by(email=request.form['username']).first()
{'email': request.form['username']})
if user: if user:
if user.email_verified and user.status == 'active': if user.email_verified and user.status == 'active':
@ -303,11 +296,9 @@ def verify_forgot_password(request):
formdata_userid = formdata['vars']['userid'] formdata_userid = formdata['vars']['userid']
formdata_vars = formdata['vars'] formdata_vars = formdata['vars']
# check if it's a valid Id # check if it's a valid user id
try: user = User.query.filter_by(id=formdata_userid).first()
user = request.db.User.find_one( if not user:
{'id': ObjectId(unicode(formdata_userid))})
except InvalidId:
return render_404(request) return render_404(request)
# check if we have a real user and correct token # check if we have a real user and correct token
@ -336,7 +327,7 @@ def verify_forgot_password(request):
'mediagoblin/auth/change_fp.html', 'mediagoblin/auth/change_fp.html',
{'cp_form': cp_form}) {'cp_form': cp_form})
# in case there is a valid id but no user whit that id in the db # in case there is a valid id but no user with that id in the db
# or the token expired # or the token expired
else: else:
return render_404(request) return render_404(request)