mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-19 18:29:23 +00:00
update get_repo_owner func (#2436)
administrator may get org repo's owner at admin panel
This commit is contained in:
@@ -16,9 +16,10 @@ from seaserv import seafile_api
|
|||||||
from pysearpc import SearpcError
|
from pysearpc import SearpcError
|
||||||
|
|
||||||
from seahub.utils.timeutils import timestamp_to_isoformat_timestr
|
from seahub.utils.timeutils import timestamp_to_isoformat_timestr
|
||||||
|
from seahub.utils.repo import get_repo_owner
|
||||||
from seahub.views.sysadmin import can_view_sys_admin_repo
|
from seahub.views.sysadmin import can_view_sys_admin_repo
|
||||||
from seahub.views.file import send_file_access_msg
|
from seahub.views.file import send_file_access_msg
|
||||||
from seahub.utils import is_org_context, gen_file_get_url, \
|
from seahub.utils import gen_file_get_url, \
|
||||||
check_filename_with_rename, is_valid_dirent_name, \
|
check_filename_with_rename, is_valid_dirent_name, \
|
||||||
normalize_dir_path, normalize_file_path
|
normalize_dir_path, normalize_file_path
|
||||||
from seahub.views import get_system_default_repo_id
|
from seahub.views import get_system_default_repo_id
|
||||||
@@ -82,10 +83,7 @@ class AdminLibraryDirents(APIView):
|
|||||||
error_msg = 'Folder %s not found.' % parent_dir
|
error_msg = 'Folder %s not found.' % parent_dir
|
||||||
return api_error(status.HTTP_404_NOT_FOUND, error_msg)
|
return api_error(status.HTTP_404_NOT_FOUND, error_msg)
|
||||||
|
|
||||||
if is_org_context(request):
|
repo_owner = get_repo_owner(request, repo_id)
|
||||||
repo_owner = seafile_api.get_org_repo_owner(repo_id)
|
|
||||||
else:
|
|
||||||
repo_owner = seafile_api.get_repo_owner(repo_id)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
dirs = seafile_api.list_dir_with_perm(repo_id,
|
dirs = seafile_api.list_dir_with_perm(repo_id,
|
||||||
|
@@ -36,9 +36,15 @@ def get_sub_repo_abbrev_origin_path(repo_name, origin_path):
|
|||||||
|
|
||||||
def get_repo_owner(request, repo_id):
|
def get_repo_owner(request, repo_id):
|
||||||
if is_org_context(request):
|
if is_org_context(request):
|
||||||
return seafile_api.get_org_repo_owner(repo_id)
|
repo_owner = seafile_api.get_org_repo_owner(repo_id)
|
||||||
else:
|
else:
|
||||||
return seafile_api.get_repo_owner(repo_id)
|
# for admin panel
|
||||||
|
# administrator may get org repo's owner
|
||||||
|
repo_owner = seafile_api.get_repo_owner(repo_id)
|
||||||
|
if not repo_owner:
|
||||||
|
repo_owner = seafile_api.get_org_repo_owner(repo_id)
|
||||||
|
|
||||||
|
return repo_owner
|
||||||
|
|
||||||
def is_repo_owner(request, repo_id, username):
|
def is_repo_owner(request, repo_id, username):
|
||||||
return username == get_repo_owner(request, repo_id)
|
return username == get_repo_owner(request, repo_id)
|
||||||
|
Reference in New Issue
Block a user