remove 'include_starred' option on repo listings
This commit is contained in:
parent
5a484cfe11
commit
e8cd24781a
3 changed files with 10 additions and 23 deletions
|
@ -778,9 +778,9 @@ def get_visible_repository_count(username=None, include_public=True,
|
|||
|
||||
|
||||
def get_visible_repositories(username=None, include_public=True, page=None,
|
||||
limit=None, sort=False, namespace=None, include_starred=True):
|
||||
limit=None, sort=False, namespace=None):
|
||||
query = _visible_repository_query(username=username, include_public=include_public, page=page,
|
||||
limit=limit, namespace=namespace, include_starred=include_starred,
|
||||
limit=limit, namespace=namespace,
|
||||
select_models=[Repository, Namespace, Visibility])
|
||||
|
||||
if sort:
|
||||
|
@ -793,7 +793,7 @@ def get_visible_repositories(username=None, include_public=True, page=None,
|
|||
|
||||
|
||||
def _visible_repository_query(username=None, include_public=True, limit=None,
|
||||
page=None, namespace=None, include_starred=True, select_models=[]):
|
||||
page=None, namespace=None, select_models=[]):
|
||||
query = (Repository
|
||||
.select(*select_models) # MySQL/RDS complains is there are selected models for counts.
|
||||
.distinct()
|
||||
|
@ -803,7 +803,7 @@ def _visible_repository_query(username=None, include_public=True, limit=None,
|
|||
.switch(Repository)
|
||||
.join(RepositoryPermission, JOIN_LEFT_OUTER))
|
||||
|
||||
query = _filter_to_repos_for_user(query, username, namespace, include_public, include_starred)
|
||||
query = _filter_to_repos_for_user(query, username, namespace, include_public)
|
||||
if page:
|
||||
query = query.paginate(page, limit)
|
||||
elif limit:
|
||||
|
@ -812,8 +812,7 @@ def _visible_repository_query(username=None, include_public=True, limit=None,
|
|||
return query
|
||||
|
||||
|
||||
def _filter_to_repos_for_user(query, username=None, namespace=None,
|
||||
include_public=True, include_starred=True):
|
||||
def _filter_to_repos_for_user(query, username=None, namespace=None, include_public=True):
|
||||
if not include_public and not username:
|
||||
return Repository.select().where(Repository.id == '-1')
|
||||
|
||||
|
@ -824,7 +823,6 @@ def _filter_to_repos_for_user(query, username=None, namespace=None,
|
|||
AdminTeam = Team.alias()
|
||||
AdminTeamMember = TeamMember.alias()
|
||||
AdminUser = User.alias()
|
||||
UserThroughStar = User.alias()
|
||||
|
||||
query = (query
|
||||
.switch(RepositoryPermission)
|
||||
|
@ -844,9 +842,6 @@ def _filter_to_repos_for_user(query, username=None, namespace=None,
|
|||
where_clause = ((User.username == username) | (UserThroughTeam.username == username) |
|
||||
((AdminUser.username == username) & (TeamRole.name == 'admin')))
|
||||
|
||||
if not include_starred:
|
||||
subquery = Repository.select().join(Star).join(User).where(User.username == username).alias()
|
||||
where_clause = where_clause & ~(Repository.id << subquery)
|
||||
if namespace:
|
||||
where_clause = where_clause & (Namespace.username == namespace)
|
||||
|
||||
|
|
Reference in a new issue