changeset 6225:0b7b8e8031e6

db: add a RepoGroup.query() shortcut
author Søren Løvborg <sorenl@unity3d.com>
date Wed, 14 Sep 2016 15:53:13 +0200
parents 506dd480e408
children 590d5b7a2b26
files kallithea/controllers/admin/repo_groups.py kallithea/model/db.py
diffstat 2 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/controllers/admin/repo_groups.py	Thu Sep 15 15:25:13 2016 +0200
+++ b/kallithea/controllers/admin/repo_groups.py	Wed Sep 14 15:53:13 2016 +0200
@@ -109,9 +109,7 @@
         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)
--- a/kallithea/model/db.py	Thu Sep 15 15:25:13 2016 +0200
+++ b/kallithea/model/db.py	Wed Sep 14 15:53:13 2016 +0200
@@ -1535,6 +1535,19 @@
     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