# HG changeset patch # User Søren Løvborg # Date 2016-09-14 15:53:13 # Node ID 0b7b8e8031e681319e5edbf9a43b8597149f8d9e # Parent 506dd480e40889182fa667cc196075930392d8fb db: add a RepoGroup.query() shortcut diff --git a/kallithea/controllers/admin/repo_groups.py b/kallithea/controllers/admin/repo_groups.py --- a/kallithea/controllers/admin/repo_groups.py +++ b/kallithea/controllers/admin/repo_groups.py @@ -109,9 +109,7 @@ class RepoGroupsController(BaseControlle return False def index(self, format='html'): - _list = RepoGroup.query() \ - .order_by(func.lower(RepoGroup.group_name)) \ - .all() + _list = RepoGroup.query(sorted=True).all() group_iter = RepoGroupList(_list, perm_set=['group.admin']) repo_groups_data = [] total_records = len(group_iter) diff --git a/kallithea/model/db.py b/kallithea/model/db.py --- a/kallithea/model/db.py +++ b/kallithea/model/db.py @@ -1535,6 +1535,19 @@ class RepoGroup(Base, BaseModel): parent_group = relationship('RepoGroup', remote_side=group_id) user = relationship('User') + @classmethod + def query(cls, sorted=False): + """Add RepoGroup-specific helpers for common query constructs. + + sorted: if True, apply the default ordering (name, case insensitive). + """ + q = super(RepoGroup, cls).query() + + if sorted: + q = q.order_by(func.lower(RepoGroup.group_name)) + + return q + def __init__(self, group_name='', parent_group=None): self.group_name = group_name self.parent_group = parent_group