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

@@ -17,7 +17,7 @@
import six
from mediagoblin import mg_globals
from mediagoblin.db.models import User, Privilege, UserBan
from mediagoblin.db.models import User, Privilege, UserBan, LocalUser
from mediagoblin.db.base import Session
from mediagoblin.tools.mail import send_email
from mediagoblin.tools.response import redirect
@@ -123,7 +123,8 @@ def take_away_privileges(user,*privileges):
privilege = Privilege.query.filter(
Privilege.privilege_name==privileges[0]).first()
user = User.query.filter(
User.username==user).first()
LocalUser.username==user
).first()
if privilege in user.all_privileges:
user.all_privileges.remove(privilege)
return True
@@ -155,7 +156,8 @@ def give_privileges(user,*privileges):
privilege = Privilege.query.filter(
Privilege.privilege_name==privileges[0]).first()
user = User.query.filter(
User.username==user).first()
LoclUser.username==user
).first()
if privilege not in user.all_privileges:
user.all_privileges.append(privilege)
return True

View File

@@ -15,8 +15,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from mediagoblin.db.models import (MediaEntry, User,ReportBase, Privilege,
UserBan)
from mediagoblin.db.models import (MediaEntry, User, ReportBase, Privilege,
UserBan, LocalUser)
from mediagoblin.decorators import (require_admin_or_moderator_login,
active_user_from_url, user_has_privilege,
allow_reporting)
@@ -79,7 +79,9 @@ def moderation_users_detail(request):
'''
Shows details about a particular user.
'''
user = User.query.filter_by(username=request.matchdict['user']).first()
user = User.query.filter(
LocalUser.username==request.matchdict['user']
).first()
active_reports = user.reports_filed_on.filter(
ReportBase.resolved==None).limit(5)
closed_reports = user.reports_filed_on.filter(