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: