mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-20 19:08:21 +00:00
update wopi
1. add `ui` and `rs` parameters 1. get org repo owner
This commit is contained in:
@@ -514,8 +514,7 @@ def user_info(request, email):
|
|||||||
else:
|
else:
|
||||||
org_id = org[0].org_id
|
org_id = org[0].org_id
|
||||||
org_name = org[0].org_name
|
org_name = org[0].org_name
|
||||||
space_usage = seafile_api.get_org_user_quota_usage(org_id,
|
space_usage = seafile_api.get_org_user_quota_usage(org_id, email)
|
||||||
email)
|
|
||||||
space_quota = seafile_api.get_org_user_quota(org_id, email)
|
space_quota = seafile_api.get_org_user_quota(org_id, email)
|
||||||
owned_repos = seafile_api.get_org_owned_repo_list(org_id, email,
|
owned_repos = seafile_api.get_org_owned_repo_list(org_id, email,
|
||||||
ret_corrupted=True)
|
ret_corrupted=True)
|
||||||
|
@@ -22,6 +22,7 @@ from django.core.cache import cache
|
|||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
|
from seahub.profile.models import Profile
|
||||||
from seahub.utils import get_site_scheme_and_netloc
|
from seahub.utils import get_site_scheme_and_netloc
|
||||||
from .settings import OFFICE_WEB_APP_BASE_URL, WOPI_ACCESS_TOKEN_EXPIRATION, \
|
from .settings import OFFICE_WEB_APP_BASE_URL, WOPI_ACCESS_TOKEN_EXPIRATION, \
|
||||||
OFFICE_WEB_APP_DISCOVERY_EXPIRATION, OFFICE_WEB_APP_CLIENT_PEM, \
|
OFFICE_WEB_APP_DISCOVERY_EXPIRATION, OFFICE_WEB_APP_CLIENT_PEM, \
|
||||||
@@ -146,6 +147,10 @@ def get_wopi_dict(request_user, repo_id, file_path, action_name='view'):
|
|||||||
else:
|
else:
|
||||||
full_action_url = action_url + '?' + urllib.urlencode(query_dict)
|
full_action_url = action_url + '?' + urllib.urlencode(query_dict)
|
||||||
|
|
||||||
|
lang_code = Profile.objects.get_user_language(request_user)
|
||||||
|
if lang_code.lower() == 'zh-cn':
|
||||||
|
full_action_url += '&ui=zh-CN&rs=zh-CN'
|
||||||
|
|
||||||
# generate access token
|
# generate access token
|
||||||
user_repo_path_info = (request_user, repo_id, file_path)
|
user_repo_path_info = (request_user, repo_id, file_path)
|
||||||
|
|
||||||
|
@@ -20,7 +20,7 @@ from seaserv import seafile_api
|
|||||||
|
|
||||||
from seahub.views import check_file_lock
|
from seahub.views import check_file_lock
|
||||||
from seahub.utils import gen_inner_file_get_url, \
|
from seahub.utils import gen_inner_file_get_url, \
|
||||||
gen_file_upload_url, get_file_type_and_ext
|
gen_file_upload_url, get_file_type_and_ext, is_pro_version
|
||||||
from seahub.base.templatetags.seahub_tags import email2nickname
|
from seahub.base.templatetags.seahub_tags import email2nickname
|
||||||
|
|
||||||
from seahub.settings import SITE_ROOT
|
from seahub.settings import SITE_ROOT
|
||||||
@@ -129,11 +129,21 @@ class WOPIFilesView(APIView):
|
|||||||
result = {}
|
result = {}
|
||||||
# necessary
|
# necessary
|
||||||
result['BaseFileName'] = os.path.basename(file_path)
|
result['BaseFileName'] = os.path.basename(file_path)
|
||||||
result['OwnerId'] = seafile_api.get_repo_owner(repo_id)
|
|
||||||
result['Size'] = file_size
|
result['Size'] = file_size
|
||||||
result['UserId'] = request_user
|
result['UserId'] = request_user
|
||||||
result['Version'] = obj_id
|
result['Version'] = obj_id
|
||||||
|
|
||||||
|
try:
|
||||||
|
if is_pro_version():
|
||||||
|
result['OwnerId'] = seafile_api.get_repo_owner(repo_id) or \
|
||||||
|
seafile_api.get_org_repo_owner(repo_id)
|
||||||
|
else:
|
||||||
|
result['OwnerId'] = seafile_api.get_repo_owner(repo_id)
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(e)
|
||||||
|
return HttpResponse(json.dumps({}), status=500,
|
||||||
|
content_type=json_content_type)
|
||||||
|
|
||||||
# optional
|
# optional
|
||||||
result['UserFriendlyName'] = email2nickname(request_user)
|
result['UserFriendlyName'] = email2nickname(request_user)
|
||||||
absolute_uri = request.build_absolute_uri('/')
|
absolute_uri = request.build_absolute_uri('/')
|
||||||
|
Reference in New Issue
Block a user