Mercurial > kallithea
changeset 6224:506dd480e408
db: always do case-insensitive sorting of repository names
We retain the implicit order_by on the follows_repository relationship.
This is probably a bad idea, since it causes sorting even when it's not
needed; but for now, at least, we consistently do case-insensitive sort.
author | Søren Løvborg <sorenl@unity3d.com> |
---|---|
date | Thu, 15 Sep 2016 15:25:13 +0200 |
parents | 873a3839865d |
children | 0b7b8e8031e6 |
files | kallithea/controllers/admin/repos.py kallithea/controllers/home.py kallithea/model/db.py |
diffstat | 3 files changed, 4 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/controllers/admin/repos.py Wed Sep 14 15:52:26 2016 +0200 +++ b/kallithea/controllers/admin/repos.py Thu Sep 15 15:25:13 2016 +0200 @@ -415,7 +415,7 @@ .filter(UserFollowing.user_id == c.default_user_id) \ .filter(UserFollowing.follows_repository == c.repo_info).scalar() - _repos = Repository.query().order_by(Repository.repo_name).all() + _repos = Repository.query(sorted=True).all() read_access_repos = RepoList(_repos) c.repos_list = [(None, _('-- Not a fork --'))] c.repos_list += [(x.repo_id, x.repo_name)
--- a/kallithea/controllers/home.py Wed Sep 14 15:52:26 2016 +0200 +++ b/kallithea/controllers/home.py Thu Sep 15 15:25:13 2016 +0200 @@ -72,7 +72,7 @@ #wrapper for conditional cache def _c(): log.debug('generating switcher repo/groups list') - all_repos = Repository.query().order_by(Repository.repo_name).all() + all_repos = Repository.query(sorted=True).all() repo_iter = self.scm_model.get_repos(all_repos) all_groups = RepoGroup.query().order_by(RepoGroup.group_name).all() repo_groups_iter = self.scm_model.get_repo_groups(all_groups)
--- a/kallithea/model/db.py Wed Sep 14 15:52:26 2016 +0200 +++ b/kallithea/model/db.py Thu Sep 15 15:25:13 2016 +0200 @@ -1619,9 +1619,7 @@ @property def repositories(self): - return Repository.query() \ - .filter(Repository.group == self) \ - .order_by(Repository.repo_name) + return Repository.query(sorted=True).filter_by(group=self) @property def repositories_recursive_count(self): @@ -2058,7 +2056,7 @@ user = relationship('User', primaryjoin='User.user_id==UserFollowing.user_id') follows_user = relationship('User', primaryjoin='User.user_id==UserFollowing.follows_user_id') - follows_repository = relationship('Repository', order_by='Repository.repo_name') + follows_repository = relationship('Repository', order_by=lambda: func.lower(Repository.repo_name)) @classmethod def get_repo_followers(cls, repo_id):