aboutsummaryrefslogtreecommitdiff
path: root/rhodecode/model/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'rhodecode/model/db.py')
-rwxr-xr-xrhodecode/model/db.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py
index 5e0b7e12..0af193e4 100755
--- a/rhodecode/model/db.py
+++ b/rhodecode/model/db.py
@@ -1027,14 +1027,20 @@ class RepoGroup(Base, BaseModel):
self.group_name)
@classmethod
- def groups_choices(cls):
+ def groups_choices(cls, check_perms=False):
from webhelpers.html import literal as _literal
+ from rhodecode.model.scm import ScmModel
+ groups = cls.query().all()
+ if check_perms:
+ #filter group user have access to, it's done
+ #magically inside ScmModel based on current user
+ groups = ScmModel().get_repos_groups(groups)
repo_groups = [('', '')]
sep = ' » '
_name = lambda k: _literal(sep.join(k))
repo_groups.extend([(x.group_id, _name(x.full_path_splitted))
- for x in cls.query().all()])
+ for x in groups])
repo_groups = sorted(repo_groups, key=lambda t: t[1].split(sep)[0])
return repo_groups