1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-04-28 03:10:45 +00:00

support edit perm when generate share link for sdoc file

This commit is contained in:
lian 2025-04-11 16:38:22 +08:00
parent 8ebf4e7225
commit a711e834a0
2 changed files with 24 additions and 5 deletions

View File

@ -177,7 +177,7 @@ export const Utils = {
permissionOptions.push('download_upload');
}
} else {
if (this.isEditableOfficeFile(path) && (permission == 'rw' || permission == 'admin') && canEdit) {
if ((this.isEditableOfficeFile(path) || this.isEditableSdocFile(path)) && (permission == 'rw' || permission == 'admin') && canEdit) {
permissionOptions.push('edit_download');
}
@ -222,6 +222,20 @@ export const Utils = {
}
},
isEditableSdocFile: function (filename) {
// no file ext
if (filename.lastIndexOf('.') == -1) {
return false;
}
const file_ext = filename.substr(filename.lastIndexOf('.') + 1).toLowerCase();
if (enableSeadoc && file_ext == 'sdoc') {
return true;
} else {
return false;
}
},
// check if a file is a video
videoCheck: function (filename) {
// no file ext

View File

@ -82,12 +82,10 @@ from seahub.settings import FILE_ENCODING_LIST, FILE_PREVIEW_MAX_SIZE, \
SHARE_LINK_EXPIRE_DAYS_MIN, SHARE_LINK_EXPIRE_DAYS_MAX, SHARE_LINK_PASSWORD_MIN_LENGTH, \
SHARE_LINK_FORCE_USE_PASSWORD, SHARE_LINK_PASSWORD_STRENGTH_LEVEL, \
SHARE_LINK_EXPIRE_DAYS_DEFAULT, ENABLE_SHARE_LINK_REPORT_ABUSE, SEADOC_SERVER_URL, \
ENABLE_METADATA_MANAGEMENT, BAIDU_MAP_KEY, GOOGLE_MAP_KEY, GOOGLE_MAP_ID, ENABLE_MULTIPLE_OFFICE_SUITE, \
OFFICE_SUITE_LIST
ENABLE_METADATA_MANAGEMENT, BAIDU_MAP_KEY, GOOGLE_MAP_KEY, GOOGLE_MAP_ID, \
ENABLE_MULTIPLE_OFFICE_SUITE, OFFICE_SUITE_LIST, ENABLE_SEADOC
from seahub.constants import PERMISSION_INVISIBLE
# wopi
try:
from seahub.wopi.settings import ENABLE_OFFICE_WEB_APP
@ -391,6 +389,10 @@ def can_preview_file(file_name, file_size, repo):
filesizeformat(FILE_PREVIEW_MAX_SIZE)
return False, error_msg
elif filetype in (SEADOC) and not ENABLE_SEADOC:
error_msg = "File preview unsupported"
return False, error_msg
elif filetype in (DOCUMENT, SPREADSHEET) or \
fileext in OFFICE_WEB_APP_FILE_EXTENSION or \
fileext in ONLYOFFICE_FILE_EXTENSION:
@ -437,6 +439,9 @@ def can_edit_file(file_name, file_size, repo):
if file_type in (TEXT, MARKDOWN) or file_ext in get_conf_text_ext():
return True, ''
if file_type in (SEADOC) and ENABLE_SEADOC:
return True, ''
if file_type in (DOCUMENT, SPREADSHEET):
if ENABLE_OFFICE_WEB_APP_EDIT and \
file_ext in OFFICE_WEB_APP_EDIT_FILE_EXTENSION: