Mercurial > kallithea
changeset 6223:873a3839865d
db: add a Repository.query() shortcut
author | Søren Løvborg <sorenl@unity3d.com> |
---|---|
date | Wed, 14 Sep 2016 15:52:26 +0200 |
parents | 8ad40ef0ea80 |
children | 506dd480e408 |
files | kallithea/controllers/admin/repo_groups.py kallithea/controllers/admin/repos.py kallithea/controllers/home.py kallithea/controllers/journal.py kallithea/model/db.py |
diffstat | 5 files changed, 18 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/controllers/admin/repo_groups.py Thu Sep 15 13:36:05 2016 +0200 +++ b/kallithea/controllers/admin/repo_groups.py Wed Sep 14 15:52:26 2016 +0200 @@ -309,10 +309,7 @@ .filter(RepoGroup.group_parent_id == c.group.group_id).all() c.groups = self.scm_model.get_repo_groups(groups) - c.repos_list = Repository.query() \ - .filter(Repository.group_id == c.group.group_id) \ - .order_by(func.lower(Repository.repo_name)) \ - .all() + c.repos_list = Repository.query(sorted=True).filter_by(group=c.group).all() repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list, admin=False, short_name=True)
--- a/kallithea/controllers/admin/repos.py Thu Sep 15 13:36:05 2016 +0200 +++ b/kallithea/controllers/admin/repos.py Wed Sep 14 15:52:26 2016 +0200 @@ -98,9 +98,7 @@ return defaults def index(self, format='html'): - _list = Repository.query() \ - .order_by(func.lower(Repository.repo_name)) \ - .all() + _list = Repository.query(sorted=True).all() c.repos_list = RepoList(_list, perm_set=['repository.admin']) repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list,
--- a/kallithea/controllers/home.py Thu Sep 15 13:36:05 2016 +0200 +++ b/kallithea/controllers/home.py Wed Sep 14 15:52:26 2016 +0200 @@ -57,10 +57,7 @@ c.groups = self.scm_model.get_repo_groups() c.group = None - c.repos_list = Repository.query() \ - .filter(Repository.group_id == None) \ - .order_by(func.lower(Repository.repo_name)) \ - .all() + c.repos_list = Repository.query(sorted=True).filter_by(group=None).all() repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list, admin=False, short_name=True)
--- a/kallithea/controllers/journal.py Thu Sep 15 13:36:05 2016 +0200 +++ b/kallithea/controllers/journal.py Wed Sep 14 15:52:26 2016 +0200 @@ -211,10 +211,8 @@ if request.environ.get('HTTP_X_PARTIAL_XHR'): return render('journal/journal_data.html') - repos_list = Session().query(Repository) \ - .filter(Repository.user_id == - self.authuser.user_id) \ - .order_by(func.lower(Repository.repo_name)).all() + repos_list = Repository.query(sorted=True) \ + .filter_by(user_id=self.authuser.user_id).all() repos_data = RepoModel().get_repos_as_dict(repos_list=repos_list, admin=True)
--- a/kallithea/model/db.py Thu Sep 15 13:36:05 2016 +0200 +++ b/kallithea/model/db.py Wed Sep 14 15:52:26 2016 +0200 @@ -1090,6 +1090,19 @@ log.error(traceback.format_exc()) @classmethod + def query(cls, sorted=False): + """Add Repository-specific helpers for common query constructs. + + sorted: if True, apply the default ordering (name, case insensitive). + """ + q = super(Repository, cls).query() + + if sorted: + q = q.order_by(func.lower(Repository.repo_name)) + + return q + + @classmethod def url_sep(cls): return URL_SEP