Mercurial > kallithea
changeset 1544:f82cdb15eee3 beta
Automated merge with https://bitbucket.org/marcinkuzminski/rhodecode
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 11 Oct 2011 08:36:52 +0200 |
parents | 238b2805851f (current diff) ada6926c374f (diff) |
children | a7bee2a5de67 |
files | |
diffstat | 2 files changed, 19 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/repos_groups.py Tue Oct 11 02:13:32 2011 -0400 +++ b/rhodecode/controllers/admin/repos_groups.py Tue Oct 11 08:36:52 2011 +0200 @@ -9,9 +9,10 @@ from pylons.controllers.util import abort, redirect from pylons.i18n.translation import _ +from sqlalchemy.exc import IntegrityError + from rhodecode.lib import helpers as h -from rhodecode.lib.auth import LoginRequired, HasPermissionAllDecorator, \ - HasPermissionAnyDecorator +from rhodecode.lib.auth import LoginRequired, HasPermissionAnyDecorator from rhodecode.lib.base import BaseController, render from rhodecode.model.db import Group from rhodecode.model.repos_group import ReposGroupModel @@ -167,10 +168,21 @@ repos_group_model.delete(id) h.flash(_('removed repos group %s' % gr.group_name), category='success') #TODO: in future action_logger(, '', '', '', self.sa) + except IntegrityError, e: + if e.message.find('groups_group_parent_id_fkey'): + log.error(traceback.format_exc()) + h.flash(_('Cannot delete this group it still contains ' + 'subgroups'), + category='warning') + else: + log.error(traceback.format_exc()) + h.flash(_('error occurred during deletion of repos ' + 'group %s' % gr.group_name), category='error') + except Exception: log.error(traceback.format_exc()) - h.flash(_('error occurred during deletion of repos group %s' % gr.group_name), - category='error') + h.flash(_('error occurred during deletion of repos ' + 'group %s' % gr.group_name), category='error') return redirect(url('repos_groups'))
--- a/rhodecode/model/repos_group.py Tue Oct 11 02:13:32 2011 -0400 +++ b/rhodecode/model/repos_group.py Tue Oct 11 08:36:52 2011 +0200 @@ -100,7 +100,9 @@ paths = os.sep.join(paths) rm_path = os.path.join(self.repos_path, paths) - os.rmdir(rm_path) + if os.path.isdir(rm_path): + # delete only if that path really exists + os.rmdir(rm_path) def create(self, form_data): try: