1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-07 18:13:56 +00:00

Merge pull request #2355 from haiwen/get-related-users

update get releated users by repo
This commit is contained in:
zheng xie 2018-09-12 16:56:57 +08:00 committed by GitHub
commit e14c5a93ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 12 deletions

View File

@ -8,8 +8,7 @@ from rest_framework.views import APIView
from rest_framework import status from rest_framework import status
from django.template.defaultfilters import filesizeformat from django.template.defaultfilters import filesizeformat
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
import seaserv from seaserv import ccnet_api, seafile_api
from seaserv import ccnet_api, seafile_api, seafserv_threaded_rpc
from seahub.api2.authentication import TokenAuthentication from seahub.api2.authentication import TokenAuthentication
from seahub.api2.throttling import UserRateThrottle from seahub.api2.throttling import UserRateThrottle
@ -22,6 +21,7 @@ from seahub.admin_log.models import REPO_CREATE, REPO_DELETE, REPO_TRANSFER
from seahub.share.models import FileShare, UploadLinkShare from seahub.share.models import FileShare, UploadLinkShare
from seahub.base.templatetags.seahub_tags import email2nickname, email2contact_email from seahub.base.templatetags.seahub_tags import email2nickname, email2contact_email
from seahub.group.utils import is_group_member, group_id_to_name from seahub.group.utils import is_group_member, group_id_to_name
from seahub.utils.repo import get_related_users_by_repo
from seahub.api2.endpoints.group_owned_libraries import get_group_id_by_repo_owner from seahub.api2.endpoints.group_owned_libraries import get_group_id_by_repo_owner
@ -247,7 +247,15 @@ class AdminLibrary(APIView):
try: try:
seafile_api.remove_repo(repo_id) seafile_api.remove_repo(repo_id)
related_usernames = seaserv.get_related_users_by_repo(repo_id)
try:
org_id = seafile_api.get_org_id_by_repo_id(repo_id)
related_usernames = get_related_users_by_repo(repo_id,
org_id if org_id > 0 else None)
except Exception as e:
logger.error(e)
org_id = -1
related_usernames = []
# send signal for seafevents # send signal for seafevents
repo_deleted.send(sender=None, org_id=-1, usernames=related_usernames, repo_deleted.send(sender=None, org_id=-1, usernames=related_usernames,
@ -298,7 +306,7 @@ class AdminLibrary(APIView):
if MULTI_TENANCY: if MULTI_TENANCY:
try: try:
if seafserv_threaded_rpc.get_org_id_by_repo_id(repo_id) > 0: if seafile_api.get_org_id_by_repo_id(repo_id) > 0:
error_msg = 'Can not transfer organization library.' error_msg = 'Can not transfer organization library.'
return api_error(status.HTTP_403_FORBIDDEN, error_msg) return api_error(status.HTTP_403_FORBIDDEN, error_msg)

View File

@ -25,7 +25,7 @@ from django.utils.http import urlquote
import seaserv import seaserv
from seaserv import ccnet_threaded_rpc, seafserv_threaded_rpc, \ from seaserv import ccnet_threaded_rpc, seafserv_threaded_rpc, \
seafile_api, get_group, get_group_members, ccnet_api, \ seafile_api, get_group, get_group_members, ccnet_api, \
get_related_users_by_repo, get_related_users_by_org_repo get_related_users_by_org_repo
from pysearpc import SearpcError from pysearpc import SearpcError
from seahub.base.accounts import User from seahub.base.accounts import User
@ -61,6 +61,7 @@ from seahub.utils.ms_excel import write_xls
from seahub.utils.user_permissions import get_basic_user_roles, \ from seahub.utils.user_permissions import get_basic_user_roles, \
get_user_role, get_basic_admin_roles get_user_role, get_basic_admin_roles
from seahub.utils.auth import get_login_bg_image_path from seahub.utils.auth import get_login_bg_image_path
from seahub.utils.repo import get_related_users_by_repo, get_repo_owner
from seahub.views import get_system_default_repo_id from seahub.views import get_system_default_repo_id
from seahub.forms import SetUserQuotaForm, AddUserForm, BatchAddUserForm, \ from seahub.forms import SetUserQuotaForm, AddUserForm, BatchAddUserForm, \
TermsAndConditionsForm TermsAndConditionsForm
@ -1748,14 +1749,15 @@ def sys_repo_delete(request, repo_id):
else: else:
repo_name = '' repo_name = ''
if MULTI_TENANCY: repo_owner = get_repo_owner(request, repo_id)
org_id = seafserv_threaded_rpc.get_org_id_by_repo_id(repo_id) try:
usernames = get_related_users_by_org_repo(org_id, repo_id) org_id = seafile_api.get_org_id_by_repo_id(repo_id)
repo_owner = seafile_api.get_org_repo_owner(repo_id) usernames = get_related_users_by_repo(repo_id,
else: org_id if org_id > 0 else None)
except Exception as e:
logger.error(e)
org_id = -1 org_id = -1
usernames = get_related_users_by_repo(repo_id) usernames = []
repo_owner = seafile_api.get_repo_owner(repo_id)
seafile_api.remove_repo(repo_id) seafile_api.remove_repo(repo_id)
repo_deleted.send(sender=None, org_id=org_id, usernames=usernames, repo_deleted.send(sender=None, org_id=org_id, usernames=usernames,