diff --git a/rhodecode/model/repo.py b/rhodecode/model/repo.py --- a/rhodecode/model/repo.py +++ b/rhodecode/model/repo.py @@ -32,7 +32,7 @@ from datetime import datetime from rhodecode.lib.vcs.backends import get_backend from rhodecode.lib.compat import json from rhodecode.lib.utils2 import LazyProperty, safe_str, safe_unicode,\ - remove_prefix, obfuscate_url_pw + remove_prefix, obfuscate_url_pw, get_current_rhodecode_user from rhodecode.lib.caching_query import FromCache from rhodecode.lib.hooks import log_create_repository, log_delete_repository @@ -504,7 +504,7 @@ class RepoModel(BaseModel): from rhodecode.lib.celerylib import tasks, run_task run_task(tasks.create_repo_fork, form_data, cur_user) - def delete(self, repo, forks=None, fs_remove=True): + def delete(self, repo, forks=None, fs_remove=True, cur_user=None): """ Delete given repository, forks parameter defines what do do with attached forks. Throws AttachedForksError if deleted repo has attached @@ -514,6 +514,8 @@ class RepoModel(BaseModel): :param forks: str 'delete' or 'detach' :param fs_remove: remove(archive) repo from filesystem """ + if not cur_user: + cur_user = getattr(get_current_rhodecode_user(), 'username', '?') repo = self._get_repo(repo) if repo: if forks == 'detach': @@ -535,7 +537,7 @@ class RepoModel(BaseModel): else: log.debug('skipping removal from filesystem') log_delete_repository(old_repo_dict, - deleted_by=owner.username) + deleted_by=cur_user) except Exception: log.error(traceback.format_exc()) raise