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:
|
||||
org_id = org[0].org_id
|
||||
org_name = org[0].org_name
|
||||
space_usage = seafile_api.get_org_user_quota_usage(org_id,
|
||||
email)
|
||||
space_usage = seafile_api.get_org_user_quota_usage(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,
|
||||
ret_corrupted=True)
|
||||
|
@@ -22,6 +22,7 @@ from django.core.cache import cache
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.utils import timezone
|
||||
|
||||
from seahub.profile.models import Profile
|
||||
from seahub.utils import get_site_scheme_and_netloc
|
||||
from .settings import OFFICE_WEB_APP_BASE_URL, WOPI_ACCESS_TOKEN_EXPIRATION, \
|
||||
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:
|
||||
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
|
||||
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.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.settings import SITE_ROOT
|
||||
@@ -129,11 +129,21 @@ class WOPIFilesView(APIView):
|
||||
result = {}
|
||||
# necessary
|
||||
result['BaseFileName'] = os.path.basename(file_path)
|
||||
result['OwnerId'] = seafile_api.get_repo_owner(repo_id)
|
||||
result['Size'] = file_size
|
||||
result['UserId'] = request_user
|
||||
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
|
||||
result['UserFriendlyName'] = email2nickname(request_user)
|
||||
absolute_uri = request.build_absolute_uri('/')
|
||||
|
Reference in New Issue
Block a user