Skip to content
This repository has been archived by the owner on Apr 28, 2020. It is now read-only.

Commit

Permalink
User.all accepts both userids and usernames now. Fixes #162
Browse files Browse the repository at this point in the history
  • Loading branch information
jace committed Feb 1, 2016
1 parent 4651573 commit db777be
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions lastuser_core/models/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -326,14 +326,21 @@ def all(cls, userids=None, usernames=None, defercols=False):
:param bool defercols: Defer loading non-critical columns
"""
users = set()
if userids:
if userids and usernames:
query = cls.query.filter(or_(cls.userid.in_(userids), cls.username.in_(usernames)))
elif userids:
query = cls.query.filter(cls.userid.in_(userids))
if defercols:
query = query.options(*cls._defercols)
for user in query.all():
user = user.merged_user()
if user.is_active:
users.add(user)
elif usernames:
query = cls.query.filter(cls.username.in_(usernames))
else:
raise Exception

if defercols:
query = query.options(*cls._defercols)
for user in query.all():
user = user.merged_user()
if user.is_active:
users.add(user)
return list(users)

@classmethod
Expand Down

0 comments on commit db777be

Please sign in to comment.