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:
@@ -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
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user