users: replaced extraction of user_ids with more efficient method.
- by default it extracts only active accounts.
This commit is contained in:
parent
6858bf047f
commit
67d823a464
3 changed files with 14 additions and 3 deletions
|
|
@ -101,7 +101,7 @@ class RepoGroupPermissionsView(RepoGroupAppView):
|
|||
affected_user_ids = None
|
||||
if changes.get('default_user_changed', False):
|
||||
# if we change the default user, we need to flush everyone permissions
|
||||
affected_user_ids = [x.user_id for x in User.get_all()]
|
||||
affected_user_ids = User.get_all_user_ids()
|
||||
PermissionModel().flush_user_permission_caches(
|
||||
changes, affected_user_ids=affected_user_ids)
|
||||
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ class RepoSettingsPermissionsView(RepoAppView):
|
|||
affected_user_ids = None
|
||||
if changes.get('default_user_changed', False):
|
||||
# if we change the default user, we need to flush everyone permissions
|
||||
affected_user_ids = [x.user_id for x in User.get_all()]
|
||||
affected_user_ids = User.get_all_user_ids()
|
||||
PermissionModel().flush_user_permission_caches(
|
||||
changes, affected_user_ids=affected_user_ids)
|
||||
|
||||
|
|
@ -126,7 +126,7 @@ class RepoSettingsPermissionsView(RepoAppView):
|
|||
self.db_repo_name), category='error')
|
||||
|
||||
# NOTE(dan): we change repo private mode we need to notify all USERS
|
||||
affected_user_ids = [x.user_id for x in User.get_all()]
|
||||
affected_user_ids = User.get_all_user_ids()
|
||||
PermissionModel().trigger_permission_flush(affected_user_ids)
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -1024,6 +1024,17 @@ class User(Base, BaseModel):
|
|||
qry = qry.filter(User.active == true())
|
||||
return qry.all()
|
||||
|
||||
@classmethod
|
||||
def get_all_user_ids(cls, only_active=True):
|
||||
"""
|
||||
Returns all users IDs
|
||||
"""
|
||||
qry = Session().query(User.user_id)
|
||||
|
||||
if only_active:
|
||||
qry = qry.filter(User.active == true())
|
||||
return [x.user_id for x in qry]
|
||||
|
||||
@classmethod
|
||||
def get_default_user(cls, cache=False, refresh=False):
|
||||
user = User.get_by_username(User.DEFAULT_USER, cache=cache)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue