mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-22 11:57:34 +00:00
Merge pull request #358 from haiwen/fix-office-preview-in-shared-link
fixed preview office files in share links and priv shares
This commit is contained in:
@@ -636,7 +636,7 @@ def view_shared_file(request, token):
|
||||
else:
|
||||
return render_to_response('share_access_validation.html', d,
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
shared_by = fileshare.username
|
||||
repo_id = fileshare.repo_id
|
||||
repo = get_repo(repo_id)
|
||||
@@ -696,6 +696,8 @@ def view_shared_file(request, token):
|
||||
save_to_link = reverse('save_shared_link') + '?t=' + token
|
||||
traffic_over_limit = user_traffic_over_limit(shared_by)
|
||||
|
||||
office_preview_token = ret_dict.get('office_preview_token', '')
|
||||
|
||||
return render_to_response('shared_file_view.html', {
|
||||
'repo': repo,
|
||||
'obj_id': obj_id,
|
||||
@@ -713,6 +715,7 @@ def view_shared_file(request, token):
|
||||
'file_encoding_list':ret_dict['file_encoding_list'],
|
||||
'html_exists': ret_dict['html_exists'],
|
||||
'html_detail': ret_dict.get('html_detail', {}),
|
||||
'office_preview_token': office_preview_token,
|
||||
'filetype': ret_dict['filetype'],
|
||||
'use_pdfjs':USE_PDFJS,
|
||||
'accessible_repos': accessible_repos,
|
||||
@@ -722,7 +725,7 @@ def view_shared_file(request, token):
|
||||
|
||||
def view_raw_shared_file(request, token, obj_id, file_name):
|
||||
"""Returns raw content of a shared file.
|
||||
|
||||
|
||||
Arguments:
|
||||
- `request`:
|
||||
- `token`:
|
||||
@@ -844,6 +847,7 @@ def view_file_via_shared_dir(request, token):
|
||||
ret_dict['err'] = err_msg
|
||||
|
||||
traffic_over_limit = user_traffic_over_limit(shared_by)
|
||||
office_preview_token = ret_dict.get('office_preview_token', '')
|
||||
|
||||
return render_to_response('shared_file_view.html', {
|
||||
'repo': repo,
|
||||
@@ -863,6 +867,7 @@ def view_file_via_shared_dir(request, token):
|
||||
'file_encoding_list':ret_dict['file_encoding_list'],
|
||||
'html_exists': ret_dict['html_exists'],
|
||||
'html_detail': ret_dict.get('html_detail', {}),
|
||||
'office_preview_token': office_preview_token,
|
||||
'filetype': ret_dict['filetype'],
|
||||
'use_pdfjs':USE_PDFJS,
|
||||
'zipped': zipped,
|
||||
@@ -1033,7 +1038,7 @@ def file_edit(request, repo_id):
|
||||
@login_required
|
||||
def view_raw_file(request, repo_id, file_path):
|
||||
"""Returns raw content of a file.
|
||||
|
||||
|
||||
Arguments:
|
||||
- `request`:
|
||||
- `repo_id`:
|
||||
@@ -1059,7 +1064,7 @@ def view_raw_file(request, repo_id, file_path):
|
||||
|
||||
def send_file_download_msg(request, repo, path, dl_type):
|
||||
"""Send file downlaod msg.
|
||||
|
||||
|
||||
Arguments:
|
||||
- `request`:
|
||||
- `repo`:
|
||||
@@ -1256,9 +1261,9 @@ def office_convert_add_task(request):
|
||||
return HttpResponseBadRequest('invalid params')
|
||||
|
||||
resp = add_office_convert_task(file_id, doctype, raw_path, internal=True)
|
||||
|
||||
|
||||
return HttpResponse(json.dumps(resp), content_type=content_type)
|
||||
|
||||
|
||||
def check_office_token(func):
|
||||
'''Set the `office_convert_add_task` attr on the request object for office
|
||||
preview related requests
|
||||
@@ -1268,14 +1273,14 @@ def check_office_token(func):
|
||||
token = request.META.get('HTTP_X_SEAFILE_OFFICE_PREVIEW_TOKEN', '')
|
||||
if token and len(token) != 32:
|
||||
return HttpResponseForbidden()
|
||||
|
||||
|
||||
if not token:
|
||||
token = request.GET.get('office_preview_token', '')
|
||||
|
||||
|
||||
request.office_preview_token = token
|
||||
|
||||
|
||||
return func(request, *args, **kwargs)
|
||||
|
||||
|
||||
return newfunc
|
||||
|
||||
@check_office_token
|
||||
@@ -1320,7 +1325,7 @@ def office_convert_get_page(request, path, internal=False):
|
||||
m = _OFFICE_PAGE_PATTERN.match(path)
|
||||
if not m:
|
||||
return HttpResponseForbidden()
|
||||
|
||||
|
||||
file_id = m.group(1)
|
||||
if path.endswith('file.css'):
|
||||
pass
|
||||
@@ -1409,6 +1414,7 @@ def view_priv_shared_file(request, token):
|
||||
|
||||
accessible_repos = get_unencry_rw_repos_by_user(request)
|
||||
save_to_link = reverse('save_private_file_share', args=[pfs.token])
|
||||
office_preview_token = ret_dict.get('office_preview_token', '')
|
||||
|
||||
return render_to_response('shared_file_view.html', {
|
||||
'repo': repo,
|
||||
@@ -1426,6 +1432,7 @@ def view_priv_shared_file(request, token):
|
||||
'file_encoding_list':ret_dict['file_encoding_list'],
|
||||
'html_exists': ret_dict['html_exists'],
|
||||
'html_detail': ret_dict.get('html_detail', {}),
|
||||
'office_preview_token': office_preview_token,
|
||||
'filetype': ret_dict['filetype'],
|
||||
'use_pdfjs':USE_PDFJS,
|
||||
'accessible_repos': accessible_repos,
|
||||
|
Reference in New Issue
Block a user