Change codebase to query or create correct User model

The code base had many references to User.username and other
specific to LocalUser attributes as that was the way it use to exist.
This updates those to query on the generic User model but filtering
by attributes on the LocalUser.
This commit is contained in:
Jessica Tallon
2015-07-17 17:51:51 +02:00
parent 283e6d8b9f
commit d88fcb03e2
33 changed files with 156 additions and 125 deletions

View File

@@ -19,7 +19,7 @@ import os
from mediagoblin.plugins.basic_auth import forms as auth_forms
from mediagoblin.plugins.basic_auth import tools as auth_tools
from mediagoblin.auth.tools import create_basic_user
from mediagoblin.db.models import User
from mediagoblin.db.models import LocalUser
from mediagoblin.tools import pluginapi
from sqlalchemy import or_
from mediagoblin.tools.staticdirect import PluginStatic
@@ -56,10 +56,10 @@ def setup_plugin():
def get_user(**kwargs):
username = kwargs.pop('username', None)
if username:
user = User.query.filter(
user = LocalUser.query.filter(
or_(
User.username == username,
User.email == username,
LocalUser.username == username,
LocalUser.email == username,
)).first()
return user

View File

@@ -16,7 +16,7 @@
from itsdangerous import BadSignature
from mediagoblin import messages
from mediagoblin.db.models import User
from mediagoblin.db.models import LocalUser
from mediagoblin.decorators import require_active_login
from mediagoblin.plugins.basic_auth import forms, tools
from mediagoblin.tools.crypto import get_timed_signer_url
@@ -48,7 +48,7 @@ def forgot_password(request):
found_by_email = '@' in fp_form.username.data
if found_by_email:
user = User.query.filter_by(
user = LocalUser.query.filter_by(
email=fp_form.username.data).first()
# Don't reveal success in case the lookup happened by email address.
success_message = _("If that email address (case sensitive!) is "
@@ -56,7 +56,7 @@ def forgot_password(request):
"instructions on how to change your password.")
else: # found by username
user = User.query.filter_by(
user = LocalUser.query.filter_by(
username=fp_form.username.data).first()
if user is None:
@@ -114,7 +114,7 @@ def verify_forgot_password(request):
'index')
# check if it's a valid user id
user = User.query.filter_by(id=int(token)).first()
user = LocalUser.query.filter_by(id=int(token)).first()
# no user in db
if not user: