Show More
@@ -55,7 +55,7 b' from rhodecode.model.db import Repositor' | |||
|
55 | 55 | UserLog, RepoGroup, RhodeCodeSetting, CacheInvalidation, UserGroup |
|
56 | 56 | from rhodecode.model.meta import Session |
|
57 | 57 | from rhodecode.model.repos_group import ReposGroupModel |
|
58 | from rhodecode.lib.utils2 import safe_str, safe_unicode | |
|
58 | from rhodecode.lib.utils2 import safe_str, safe_unicode, get_current_rhodecode_user | |
|
59 | 59 | from rhodecode.lib.vcs.utils.fakemod import create_module |
|
60 | 60 | from rhodecode.model.users_group import UserGroupModel |
|
61 | 61 | |
@@ -150,9 +150,8 b' def action_logger(user, action, repo, ip' | |||
|
150 | 150 | sa = meta.Session() |
|
151 | 151 | # if we don't get explicit IP address try to get one from registered user |
|
152 | 152 | # in tmpl context var |
|
153 | from pylons import tmpl_context | |
|
154 |
|
|
|
155 | ipaddr = tmpl_context.rhodecode_user.ip_addr | |
|
153 | if not ipaddr: | |
|
154 | ipaddr = getattr(get_current_rhodecode_user(), 'ip_addr', '') | |
|
156 | 155 | |
|
157 | 156 | try: |
|
158 | 157 | if hasattr(user, 'user_id'): |
@@ -642,3 +642,14 b' def suuid(url=None, truncate_to=22, alph' | |||
|
642 | 642 | output.append(_ALPHABET[digit]) |
|
643 | 643 | unique_id = int(unique_id / alphabet_length) |
|
644 | 644 | return "".join(output)[:truncate_to] |
|
645 | ||
|
646 | def get_current_rhodecode_user(): | |
|
647 | """ | |
|
648 | Get's rhodecode user from threadlocal tmpl_context variable if it's | |
|
649 | defined, else returns None. | |
|
650 | """ | |
|
651 | from pylons import tmpl_context | |
|
652 | if hasattr(tmpl_context, 'rhodecode_user'): | |
|
653 | return tmpl_context.rhodecode_user | |
|
654 | ||
|
655 | return None |
@@ -32,7 +32,7 b' from datetime import datetime' | |||
|
32 | 32 | from rhodecode.lib.vcs.backends import get_backend |
|
33 | 33 | from rhodecode.lib.compat import json |
|
34 | 34 | from rhodecode.lib.utils2 import LazyProperty, safe_str, safe_unicode,\ |
|
35 | remove_prefix, obfuscate_url_pw | |
|
35 | remove_prefix, obfuscate_url_pw, get_current_rhodecode_user | |
|
36 | 36 | from rhodecode.lib.caching_query import FromCache |
|
37 | 37 | from rhodecode.lib.hooks import log_create_repository, log_delete_repository |
|
38 | 38 | |
@@ -504,7 +504,7 b' class RepoModel(BaseModel):' | |||
|
504 | 504 | from rhodecode.lib.celerylib import tasks, run_task |
|
505 | 505 | run_task(tasks.create_repo_fork, form_data, cur_user) |
|
506 | 506 | |
|
507 | def delete(self, repo, forks=None, fs_remove=True): | |
|
507 | def delete(self, repo, forks=None, fs_remove=True, cur_user=None): | |
|
508 | 508 | """ |
|
509 | 509 | Delete given repository, forks parameter defines what do do with |
|
510 | 510 | attached forks. Throws AttachedForksError if deleted repo has attached |
@@ -514,6 +514,8 b' class RepoModel(BaseModel):' | |||
|
514 | 514 | :param forks: str 'delete' or 'detach' |
|
515 | 515 | :param fs_remove: remove(archive) repo from filesystem |
|
516 | 516 | """ |
|
517 | if not cur_user: | |
|
518 | cur_user = getattr(get_current_rhodecode_user(), 'username', '?') | |
|
517 | 519 | repo = self._get_repo(repo) |
|
518 | 520 | if repo: |
|
519 | 521 | if forks == 'detach': |
@@ -535,7 +537,7 b' class RepoModel(BaseModel):' | |||
|
535 | 537 | else: |
|
536 | 538 | log.debug('skipping removal from filesystem') |
|
537 | 539 | log_delete_repository(old_repo_dict, |
|
538 |
deleted_by= |
|
|
540 | deleted_by=cur_user) | |
|
539 | 541 | except Exception: |
|
540 | 542 | log.error(traceback.format_exc()) |
|
541 | 543 | raise |
General Comments 0
You need to be logged in to leave comments.
Login now