Mercurial > kallithea
diff rhodecode/controllers/admin/repos.py @ 3391:f282c81ff532 beta
implemented #689 Deleting Repositories with Forks Should Be Easier
- optionally detach or delete forks associated to repo
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Thu, 21 Feb 2013 00:41:48 +0100 |
parents | 157231a4fcb7 |
children | 5f1850e4712a |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/repos.py Wed Feb 20 23:44:27 2013 +0100 +++ b/rhodecode/controllers/admin/repos.py Thu Feb 21 00:41:48 2013 +0100 @@ -286,6 +286,20 @@ h.not_mapped_error(repo_name) return redirect(url('repos')) try: + _forks = repo.forks.count() + if _forks and request.POST.get('forks'): + do = request.POST['forks'] + if do == 'detach_forks': + for r in repo.forks: + log.debug('Detaching fork %s from repo %s' % (r, repo)) + r.fork = None + Session().add(r) + h.flash(_('detached %s forks') % _forks, category='success') + elif do == 'delete_forks': + for r in repo.forks: + log.debug('Deleting fork %s of repo %s' % (r, repo)) + repo_model.delete(r) + h.flash(_('deleted %s forks') % _forks, category='success') action_logger(self.rhodecode_user, 'admin_deleted_repo', repo_name, self.ip_addr, self.sa) repo_model.delete(repo)