comparison rhodecode/model/repos_group.py @ 3348:6f82f8bdd22c

recursive mode of setting permission should skip private repositories, they should remain private, it's proper thing to do !
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 25 Jan 2013 00:30:25 +0100
parents abd49f6f5805
children b4daef4cc26d 702da441f5c4
comparison
equal deleted inserted replaced
3347:055dc1ab768c 3348:6f82f8bdd22c
173 if isinstance(obj, RepoGroup): 173 if isinstance(obj, RepoGroup):
174 ReposGroupModel().grant_user_permission( 174 ReposGroupModel().grant_user_permission(
175 repos_group=obj, user=user, perm=perm 175 repos_group=obj, user=user, perm=perm
176 ) 176 )
177 elif isinstance(obj, Repository): 177 elif isinstance(obj, Repository):
178 #we do this ONLY IF repository is non-private
179 if obj.private:
180 return
181
178 # we set group permission but we have to switch to repo 182 # we set group permission but we have to switch to repo
179 # permission 183 # permission
180 perm = perm.replace('group.', 'repository.') 184 perm = perm.replace('group.', 'repository.')
181 RepoModel().grant_user_permission( 185 RepoModel().grant_user_permission(
182 repo=obj, user=user, perm=perm 186 repo=obj, user=user, perm=perm
197 updates = [] 201 updates = []
198 log.debug('Now updating permissions for %s in recursive mode:%s' 202 log.debug('Now updating permissions for %s in recursive mode:%s'
199 % (repos_group, recursive)) 203 % (repos_group, recursive))
200 204
201 for obj in repos_group.recursive_groups_and_repos(): 205 for obj in repos_group.recursive_groups_and_repos():
206 #obj is an instance of a group or repositories in that group
202 if not recursive: 207 if not recursive:
203 obj = repos_group 208 obj = repos_group
204 209
205 # update permissions 210 # update permissions
206 for member, perm, member_type in perms_updates: 211 for member, perm, member_type in perms_updates: