Mercurial > kallithea
comparison rhodecode/controllers/admin/repos_groups.py @ 2749:3ed4dae499d0 beta
Recursive set locking on all children of a group.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 28 Aug 2012 00:17:42 +0200 |
parents | 91c442a489bb |
children | c0cc8f8a71b0 |
comparison
equal
deleted
inserted
replaced
2748:dfb15c8ee63f | 2749:3ed4dae499d0 |
---|---|
72 Load defaults settings for edit, and update | 72 Load defaults settings for edit, and update |
73 | 73 |
74 :param group_id: | 74 :param group_id: |
75 """ | 75 """ |
76 self.__load_defaults() | 76 self.__load_defaults() |
77 | |
78 repo_group = RepoGroup.get_or_404(group_id) | 77 repo_group = RepoGroup.get_or_404(group_id) |
79 | |
80 data = repo_group.get_dict() | 78 data = repo_group.get_dict() |
81 | |
82 data['group_name'] = repo_group.name | 79 data['group_name'] = repo_group.name |
83 | 80 |
84 # fill repository users | 81 # fill repository users |
85 for p in repo_group.repo_group_to_perm: | 82 for p in repo_group.repo_group_to_perm: |
86 data.update({'u_perm_%s' % p.user.username: | 83 data.update({'u_perm_%s' % p.user.username: |
177 except Exception: | 174 except Exception: |
178 log.error(traceback.format_exc()) | 175 log.error(traceback.format_exc()) |
179 h.flash(_('error occurred during update of repos group %s') \ | 176 h.flash(_('error occurred during update of repos group %s') \ |
180 % request.POST.get('group_name'), category='error') | 177 % request.POST.get('group_name'), category='error') |
181 | 178 |
182 return redirect(url('repos_groups')) | 179 return redirect(url('edit_repos_group', id=id)) |
183 | 180 |
184 @HasPermissionAnyDecorator('hg.admin') | 181 @HasPermissionAnyDecorator('hg.admin') |
185 def delete(self, id): | 182 def delete(self, id): |
186 """DELETE /repos_groups/id: Delete an existing item""" | 183 """DELETE /repos_groups/id: Delete an existing item""" |
187 # Forms posted to this method should contain a hidden field: | 184 # Forms posted to this method should contain a hidden field: |
200 return redirect(url('repos_groups')) | 197 return redirect(url('repos_groups')) |
201 | 198 |
202 try: | 199 try: |
203 ReposGroupModel().delete(id) | 200 ReposGroupModel().delete(id) |
204 Session().commit() | 201 Session().commit() |
205 h.flash(_('removed repos group %s') % gr.group_name, category='success') | 202 h.flash(_('removed repos group %s') % gr.group_name, |
203 category='success') | |
206 #TODO: in future action_logger(, '', '', '', self.sa) | 204 #TODO: in future action_logger(, '', '', '', self.sa) |
207 except IntegrityError, e: | 205 except IntegrityError, e: |
208 if e.message.find('groups_group_parent_id_fkey') != -1: | 206 if str(e.message).find('groups_group_parent_id_fkey') != -1: |
209 log.error(traceback.format_exc()) | 207 log.error(traceback.format_exc()) |
210 h.flash(_('Cannot delete this group it still contains ' | 208 h.flash(_('Cannot delete this group it still contains ' |
211 'subgroups'), | 209 'subgroups'), |
212 category='warning') | 210 category='warning') |
213 else: | 211 else: |