changeset 4751:d8ad71e7b90d

usergroup: explicitly use subqueryload instead of relying on lazy=join
author Mads Kiilerich <madski@unity3d.com>
date Tue, 06 Jan 2015 00:54:36 +0100
parents 3752cf4972a7
children ad374c171656
files kallithea/model/repo.py
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/model/repo.py	Tue Jan 06 00:54:36 2015 +0100
+++ b/kallithea/model/repo.py	Tue Jan 06 00:54:36 2015 +0100
@@ -32,8 +32,9 @@
 import logging
 import traceback
 from datetime import datetime
+from sqlalchemy.orm import subqueryload
+
 from kallithea.lib.utils import make_ui
-
 from kallithea.lib.vcs.backends import get_backend
 from kallithea.lib.compat import json
 from kallithea.lib.utils2 import LazyProperty, safe_str, safe_unicode, \
@@ -44,7 +45,7 @@
 from kallithea.model import BaseModel
 from kallithea.model.db import Repository, UserRepoToPerm, UserGroupRepoToPerm, \
     UserRepoGroupToPerm, UserGroupRepoGroupToPerm, User, Permission, \
-    Statistics, UserGroup, Ui, RepoGroup, \
+    Statistics, UserGroup, UserGroupMember, Ui, RepoGroup, \
     Setting, RepositoryField
 
 from kallithea.lib import helpers as h
@@ -146,7 +147,9 @@
 
     def get_user_groups_js(self):
         user_groups = self.sa.query(UserGroup) \
-            .filter(UserGroup.users_group_active == True).all()
+            .filter(UserGroup.users_group_active == True) \
+            .options(subqueryload(UserGroup.members)) \
+            .all()
         user_groups = UserGroupList(user_groups, perm_set=['usergroup.read',
                                                            'usergroup.write',
                                                            'usergroup.admin'])