Skip to content

Commit 327a5a8

Browse files
author
yosaka
committed
fix incorrect version value in responce of get_file_info() and rewrite get_file_version() in utile.py.
1 parent 908b885 commit 327a5a8

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

addons/onlyoffice/tests/test_view.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ def test_check_file_info(self):
9090
mock_filenode.name = 'filename.docx'
9191
mock_user_info = {'user_id': 'userid', 'full_name': 'fullname', 'display_name': 'dispname'}
9292
mock_file_info = {'name': 'filename.docx', 'mtime': '202501010000'}
93+
mock_file_version = ''
9394
mock_access_token = {websettings.COOKIE_NAME: 'cookie'}
9495

9596
with mock.patch.object(BaseFileNode.objects, 'get', return_value=mock_filenode):
@@ -98,6 +99,7 @@ def test_check_file_info(self):
9899
with mock.patch.object(onlyoffice_token, 'decrypt', return_value=mock_jsonobj):
99100
with mock.patch.object(onlyoffice_token, 'check_token', return_value=mock_check_token):
100101
with mock.patch.object(onlyoffice_util, 'get_file_info', return_value=mock_file_info):
101-
with mock.patch.object(onlyoffice_util, 'check_proof_key', return_value=mock_proof_key):
102-
res = onlyoffice_check_file_info(file_id='ABCDEFG')
102+
with mock.patch.object(onlyoffice_util, 'get_file_version', return_value=mock_file_version):
103+
with mock.patch.object(onlyoffice_util, 'check_proof_key', return_value=mock_proof_key):
104+
res = onlyoffice_check_file_info(file_id='ABCDEFG')
103105
assert res['BaseFileName'] == 'filename.docx'

addons/onlyoffice/util.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import logging
33
import requests
44
from lxml import etree
5-
from osf.models import BaseFileNode, OSFUser
5+
from osf.models import OSFUser
66
from osf.utils.permissions import WRITE
77
from requests.exceptions import RequestException
88

@@ -58,12 +58,10 @@ def get_file_info(file_node, file_version, cookies):
5858
return file_info
5959

6060

61-
def get_file_version(file_id):
61+
def get_file_version(file_node):
6262
file_version = ''
63-
base_file_data = BaseFileNode.objects.filter(_id=file_id)
64-
if base_file_data.exists():
65-
base_file_data = base_file_data.get()
66-
file_versions = base_file_data.versions.all()
63+
if file_node.provider == 'osfstorage':
64+
file_versions = file_node.versions.all()
6765
if file_versions is not None and file_versions.exists():
6866
file_version = file_versions.latest('id').identifier
6967
return file_version

addons/onlyoffice/views.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def onlyoffice_check_file_info(**kwargs):
5454

5555
logger.debug('onlyoffice: check_file_info file_id = {}, file_node.name = {}'.format(file_id, file_node.name))
5656

57-
file_version = onlyoffice_util.get_file_version(file_id)
57+
file_version = onlyoffice_util.get_file_version(file_node)
5858
cookies = {websettings.COOKIE_NAME: cookie}
5959
file_info = onlyoffice_util.get_file_info(file_node, file_version, cookies)
6060
if file_info is None:
@@ -150,9 +150,9 @@ def onlyoffice_file_content_view(**kwargs):
150150
logger.warning('onlyoffice: user: {} BaseFileNode None.'.format(user_info['user_id']))
151151
return Response(response='onlyoffice file_content_view exception in BaseFileNode.objects.get.', status=500)
152152

153-
# logger.info('onlyoffice: file_content_view file_id = {}, file_node.name = {}'.format(file_id, file_node.name))
153+
logger.debug('onlyoffice: file_content_view file_id = {}, file_node.name = {}'.format(file_id, file_node.name))
154154

155-
file_version = onlyoffice_util.get_file_version(file_id)
155+
file_version = onlyoffice_util.get_file_version(file_node)
156156
cookies = {websettings.COOKIE_NAME: cookie}
157157
file_info = onlyoffice_util.get_file_info(file_node, file_version, cookies)
158158
if file_info is None:

0 commit comments

Comments
 (0)