##// END OF EJS Templates
filter out repo groups choices to only ones that you have write+ access to. Before it was read+ access and you got proper...
marcink -
r3239:a9565b8b beta
parent child Browse files
Show More
@@ -45,7 +45,7 b' from rhodecode.model.meta import Session'
45 45 from rhodecode.model.db import User, Repository, UserFollowing, RepoGroup,\
46 46 RhodeCodeSetting
47 47 from rhodecode.model.forms import RepoForm
48 from rhodecode.model.scm import ScmModel
48 from rhodecode.model.scm import ScmModel, GroupList
49 49 from rhodecode.model.repo import RepoModel
50 50 from rhodecode.lib.compat import json
51 51 from sqlalchemy.sql.expression import func
@@ -68,7 +68,9 b' class ReposController(BaseController):'
68 68 super(ReposController, self).__before__()
69 69
70 70 def __load_defaults(self):
71 c.repo_groups = RepoGroup.groups_choices(check_perms=True)
71 acl_groups = GroupList(RepoGroup.query().all(),
72 perm_set=['group.write', 'group.admin'])
73 c.repo_groups = RepoGroup.groups_choices(groups=acl_groups)
72 74 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
73 75
74 76 repo_model = RepoModel()
@@ -46,7 +46,7 b' from rhodecode.model.db import RhodeCode'
46 46 RhodeCodeSetting, PullRequest, PullRequestReviewers
47 47 from rhodecode.model.forms import UserForm, ApplicationSettingsForm, \
48 48 ApplicationUiSettingsForm, ApplicationVisualisationForm
49 from rhodecode.model.scm import ScmModel
49 from rhodecode.model.scm import ScmModel, GroupList
50 50 from rhodecode.model.user import UserModel
51 51 from rhodecode.model.repo import RepoModel
52 52 from rhodecode.model.db import User
@@ -483,7 +483,9 b' class SettingsController(BaseController)'
483 483 def create_repository(self):
484 484 """GET /_admin/create_repository: Form to create a new item"""
485 485
486 c.repo_groups = RepoGroup.groups_choices(check_perms=True)
486 acl_groups = GroupList(RepoGroup.query().all(),
487 perm_set=['group.write', 'group.admin'])
488 c.repo_groups = RepoGroup.groups_choices(groups=acl_groups)
487 489 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
488 490 choices, c.landing_revs = ScmModel().get_repo_landing_revs()
489 491
@@ -41,7 +41,7 b' from rhodecode.lib.base import BaseRepoC'
41 41 from rhodecode.model.db import Repository, RepoGroup, UserFollowing, User
42 42 from rhodecode.model.repo import RepoModel
43 43 from rhodecode.model.forms import RepoForkForm
44 from rhodecode.model.scm import ScmModel
44 from rhodecode.model.scm import ScmModel, GroupList
45 45 from rhodecode.lib.utils2 import safe_int
46 46
47 47 log = logging.getLogger(__name__)
@@ -54,7 +54,9 b' class ForksController(BaseRepoController'
54 54 super(ForksController, self).__before__()
55 55
56 56 def __load_defaults(self):
57 c.repo_groups = RepoGroup.groups_choices(check_perms=True)
57 acl_groups = GroupList(RepoGroup.query().all(),
58 perm_set=['group.write', 'group.admin'])
59 c.repo_groups = RepoGroup.groups_choices(groups=acl_groups)
58 60 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
59 61 choices, c.landing_revs = ScmModel().get_repo_landing_revs()
60 62 c.landing_revs_choices = choices
@@ -44,7 +44,7 b' from rhodecode.model.forms import RepoSe'
44 44 from rhodecode.model.repo import RepoModel
45 45 from rhodecode.model.db import RepoGroup, Repository
46 46 from rhodecode.model.meta import Session
47 from rhodecode.model.scm import ScmModel
47 from rhodecode.model.scm import ScmModel, GroupList
48 48
49 49 log = logging.getLogger(__name__)
50 50
@@ -56,7 +56,9 b' class SettingsController(BaseRepoControl'
56 56 super(SettingsController, self).__before__()
57 57
58 58 def __load_defaults(self):
59 c.repo_groups = RepoGroup.groups_choices(check_perms=True)
59 acl_groups = GroupList(RepoGroup.query().all(),
60 perm_set=['group.write', 'group.admin'])
61 c.repo_groups = RepoGroup.groups_choices(groups=acl_groups)
60 62 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
61 63
62 64 repo_model = RepoModel()
@@ -73,8 +75,7 b' class SettingsController(BaseRepoControl'
73 75 """
74 76 self.__load_defaults()
75 77
76 c.repo_info = db_repo = Repository.get_by_repo_name(repo_name)
77 repo = db_repo.scm_instance
78 c.repo_info = Repository.get_by_repo_name(repo_name)
78 79
79 80 if c.repo_info is None:
80 81 h.not_mapped_error(repo_name)
@@ -1177,15 +1177,11 b' class RepoGroup(Base, BaseModel):'
1177 1177 self.group_name)
1178 1178
1179 1179 @classmethod
1180 def groups_choices(cls, groups=None, check_perms=False, show_empty_group=True):
1180 def groups_choices(cls, groups=None, show_empty_group=True):
1181 1181 from webhelpers.html import literal as _literal
1182 from rhodecode.model.scm import ScmModel
1183 1182 if not groups:
1184 1183 groups = cls.query().all()
1185 if check_perms:
1186 #filter group user have access to, it's done
1187 #magically inside ScmModel based on current user
1188 groups = ScmModel().get_repos_groups(groups)
1184
1189 1185 repo_groups = []
1190 1186 if show_empty_group:
1191 1187 repo_groups = [('-1', '-- no parent --')]
General Comments 0
You need to be logged in to leave comments. Login now