1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-20 10:58:33 +00:00

update wopi

1. add `ui` and `rs` parameters
1. get org repo owner
This commit is contained in:
lian
2017-06-08 18:27:33 +08:00
parent 367da44665
commit f0b2527bcc
3 changed files with 18 additions and 4 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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('/')