##// END OF EJS Templates
recursive mode of setting permission should skip private repositories, they should remain private, it's proper thing to do !
marcink -
r3221:dd0ee911 beta
parent child Browse files
Show More
@@ -175,6 +175,10 b' class ReposGroupModel(BaseModel):'
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.')
@@ -199,6 +203,7 b' class ReposGroupModel(BaseModel):'
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
@@ -71,7 +71,7 b''
71 <tr>
71 <tr>
72 <td colspan="6">
72 <td colspan="6">
73 ${h.checkbox('recursive',value="True", label=_('apply to children'))}
73 ${h.checkbox('recursive',value="True", label=_('apply to children'))}
74 <span class="help-block">${_('Set or revoke permission to all children of that group, including repositories and other groups')}</span>
74 <span class="help-block">${_('Set or revoke permission to all children of that group, including non-private repositories and other groups')}</span>
75 </td>
75 </td>
76 </tr>
76 </tr>
77 </table>
77 </table>
@@ -25,10 +25,11 b" def _make_group(path, desc='desc', paren"
25 return gr
25 return gr
26
26
27
27
28 def _make_repo(name, repos_group=None, repo_type='hg'):
28 def _make_repo(name, repos_group=None, repo_type='hg', private=False):
29 return RepoModel().create_repo(name, repo_type, 'desc',
29 return RepoModel().create_repo(name, repo_type, 'desc',
30 TEST_USER_ADMIN_LOGIN,
30 TEST_USER_ADMIN_LOGIN,
31 repos_group=repos_group)
31 repos_group=repos_group,
32 private=private)
32
33
33
34
34 def _destroy_project_tree(test_u1_id):
35 def _destroy_project_tree(test_u1_id):
@@ -67,6 +68,7 b' def _create_project_tree():'
67 |__[g0_3] 1 repo
68 |__[g0_3] 1 repo
68 |
69 |
69 |_<g0/g0_3/g0_3_r1>
70 |_<g0/g0_3/g0_3_r1>
71 |_<g0/g0_3/g0_3_r2_private>
70
72
71 """
73 """
72 test_u1 = UserModel().create_or_update(
74 test_u1 = UserModel().create_or_update(
@@ -84,6 +86,8 b' def _create_project_tree():'
84 g0_2_r2 = _make_repo('g0/g0_2/g0_2_r2', repos_group=g0_2)
86 g0_2_r2 = _make_repo('g0/g0_2/g0_2_r2', repos_group=g0_2)
85 g0_3 = _make_group('g0_3', parent_id=g0)
87 g0_3 = _make_group('g0_3', parent_id=g0)
86 g0_3_r1 = _make_repo('g0/g0_3/g0_3_r1', repos_group=g0_3)
88 g0_3_r1 = _make_repo('g0/g0_3/g0_3_r1', repos_group=g0_3)
89 g0_3_r2_private = _make_repo('g0/g0_3/g0_3_r1_private', repos_group=g0_3,
90 private=True)
87 return test_u1
91 return test_u1
88
92
89
93
@@ -101,7 +101,10 b' def test_user_permissions_on_group_with_'
101 _check_expected_count(items, repo_items, expected_count(group, True))
101 _check_expected_count(items, repo_items, expected_count(group, True))
102
102
103 for name, perm in repo_items:
103 for name, perm in repo_items:
104 yield check_tree_perms, name, perm, group, 'repository.write'
104 if name == 'g0/g0_3/g0_3_r1_private':
105 yield check_tree_perms, name, perm, group, 'repository.none'
106 else:
107 yield check_tree_perms, name, perm, group, 'repository.write'
105
108
106 for name, perm in items:
109 for name, perm in items:
107 yield check_tree_perms, name, perm, group, 'group.write'
110 yield check_tree_perms, name, perm, group, 'group.write'
@@ -117,11 +117,6 b' def test_user_permissions_on_group_with_'
117
117
118
118
119 @with_setup(permissions_setup_func)
119 @with_setup(permissions_setup_func)
120 def test_user_permissions_on_group_with_recursive_mode_and_private_repos():
121 assert 0
122
123
124 @with_setup(permissions_setup_func)
125 def test_user_permissions_on_group_with_recursive_mode_inner_group():
120 def test_user_permissions_on_group_with_recursive_mode_inner_group():
126 ## set permission to g0_3 group to none
121 ## set permission to g0_3 group to none
127 recursive = True
122 recursive = True
General Comments 0
You need to be logged in to leave comments. Login now