diff --git a/seahub/api2/endpoints/repo_trash.py b/seahub/api2/endpoints/repo_trash.py index 3738fdeb38..d76b17c352 100644 --- a/seahub/api2/endpoints/repo_trash.py +++ b/seahub/api2/endpoints/repo_trash.py @@ -19,6 +19,7 @@ from seahub.views import check_folder_permission from seaserv import seafile_api from pysearpc import SearpcError +from constance import config logger = logging.getLogger(__name__) @@ -147,7 +148,7 @@ class RepoTrash(APIView): # permission check username = request.user.username repo_owner = get_repo_owner(request, repo_id) - if username != repo_owner: + if username != repo_owner or not config.ENABLE_USER_CLEAN_TRASH: error_msg = 'Permission denied.' return api_error(status.HTTP_403_FORBIDDEN, error_msg) diff --git a/seahub/views/__init__.py b/seahub/views/__init__.py index 6759d11fc3..c0a692a572 100644 --- a/seahub/views/__init__.py +++ b/seahub/views/__init__.py @@ -267,22 +267,11 @@ def render_recycle_root(request, repo_id, referer): if not repo: raise Http404 - username = request.user.username - if is_org_context(request): - repo_owner = seafile_api.get_org_repo_owner(repo.id) - else: - repo_owner = seafile_api.get_repo_owner(repo.id) - is_repo_owner = True if repo_owner == username else False - - enable_clean = False - if is_repo_owner and config.ENABLE_USER_CLEAN_TRASH: - enable_clean = True - return render(request, 'repo_dir_recycle_view.html', { 'show_recycle_root': True, 'repo': repo, 'repo_dir_name': repo.name, - 'enable_clean': enable_clean, + 'enable_clean': config.ENABLE_USER_CLEAN_TRASH, 'referer': referer, })