# HG changeset patch # User Søren Løvborg # Date 1473945913 -7200 # Node ID 506dd480e40889182fa667cc196075930392d8fb # Parent 873a3839865d95926b70dcd89cdb7f0475211110 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. diff -r 873a3839865d -r 506dd480e408 kallithea/controllers/admin/repos.py --- 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) diff -r 873a3839865d -r 506dd480e408 kallithea/controllers/home.py --- 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) diff -r 873a3839865d -r 506dd480e408 kallithea/model/db.py --- 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):