diff --git a/media/office-template/empty.docxf b/media/office-template/empty.docxf new file mode 100644 index 0000000000..fb04a48d03 Binary files /dev/null and b/media/office-template/empty.docxf differ diff --git a/media/office-template/new/cs-CZ/new.docx b/media/office-template/new/cs-CZ/new.docx new file mode 100644 index 0000000000..6fec2145b2 Binary files /dev/null and b/media/office-template/new/cs-CZ/new.docx differ diff --git a/media/office-template/new/cs-CZ/new.docxf b/media/office-template/new/cs-CZ/new.docxf new file mode 100644 index 0000000000..9f5770aa36 Binary files /dev/null and b/media/office-template/new/cs-CZ/new.docxf differ diff --git a/media/office-template/new/cs-CZ/new.pptx b/media/office-template/new/cs-CZ/new.pptx new file mode 100644 index 0000000000..89cae8e456 Binary files /dev/null and b/media/office-template/new/cs-CZ/new.pptx differ diff --git a/media/office-template/new/cs-CZ/new.xlsx b/media/office-template/new/cs-CZ/new.xlsx new file mode 100644 index 0000000000..3d91bd8072 Binary files /dev/null and b/media/office-template/new/cs-CZ/new.xlsx differ diff --git a/media/office-template/new/de-DE/new.docx b/media/office-template/new/de-DE/new.docx new file mode 100644 index 0000000000..8392e81979 Binary files /dev/null and b/media/office-template/new/de-DE/new.docx differ diff --git a/media/office-template/new/de-DE/new.docxf b/media/office-template/new/de-DE/new.docxf new file mode 100644 index 0000000000..f502c9ee1e Binary files /dev/null and b/media/office-template/new/de-DE/new.docxf differ diff --git a/media/office-template/new/de-DE/new.pptx b/media/office-template/new/de-DE/new.pptx new file mode 100644 index 0000000000..8ed32bd7d9 Binary files /dev/null and b/media/office-template/new/de-DE/new.pptx differ diff --git a/media/office-template/new/de-DE/new.xlsx b/media/office-template/new/de-DE/new.xlsx new file mode 100644 index 0000000000..b9c3eee6f5 Binary files /dev/null and b/media/office-template/new/de-DE/new.xlsx differ diff --git a/media/office-template/new/el-GR/new.docx b/media/office-template/new/el-GR/new.docx new file mode 100644 index 0000000000..d71c7467fd Binary files /dev/null and b/media/office-template/new/el-GR/new.docx differ diff --git a/media/office-template/new/el-GR/new.docxf b/media/office-template/new/el-GR/new.docxf new file mode 100644 index 0000000000..c8261bc553 Binary files /dev/null and b/media/office-template/new/el-GR/new.docxf differ diff --git a/media/office-template/new/el-GR/new.pptx b/media/office-template/new/el-GR/new.pptx new file mode 100644 index 0000000000..4b2ebd572c Binary files /dev/null and b/media/office-template/new/el-GR/new.pptx differ diff --git a/media/office-template/new/el-GR/new.xlsx b/media/office-template/new/el-GR/new.xlsx new file mode 100644 index 0000000000..140eaf0dce Binary files /dev/null and b/media/office-template/new/el-GR/new.xlsx differ diff --git a/media/office-template/new/en-US/new.docx b/media/office-template/new/en-US/new.docx new file mode 100644 index 0000000000..3a8979809e Binary files /dev/null and b/media/office-template/new/en-US/new.docx differ diff --git a/media/office-template/new/en-US/new.docxf b/media/office-template/new/en-US/new.docxf new file mode 100644 index 0000000000..fb04a48d03 Binary files /dev/null and b/media/office-template/new/en-US/new.docxf differ diff --git a/media/office-template/new/en-US/new.pptx b/media/office-template/new/en-US/new.pptx new file mode 100644 index 0000000000..df6dff517e Binary files /dev/null and b/media/office-template/new/en-US/new.pptx differ diff --git a/media/office-template/new/en-US/new.xlsx b/media/office-template/new/en-US/new.xlsx new file mode 100644 index 0000000000..1289bac43b Binary files /dev/null and b/media/office-template/new/en-US/new.xlsx differ diff --git a/media/office-template/new/es-ES/new.docx b/media/office-template/new/es-ES/new.docx new file mode 100644 index 0000000000..ac9e57464d Binary files /dev/null and b/media/office-template/new/es-ES/new.docx differ diff --git a/media/office-template/new/es-ES/new.docxf b/media/office-template/new/es-ES/new.docxf new file mode 100644 index 0000000000..765291857a Binary files /dev/null and b/media/office-template/new/es-ES/new.docxf differ diff --git a/media/office-template/new/es-ES/new.pptx b/media/office-template/new/es-ES/new.pptx new file mode 100644 index 0000000000..b8dd1489a4 Binary files /dev/null and b/media/office-template/new/es-ES/new.pptx differ diff --git a/media/office-template/new/es-ES/new.xlsx b/media/office-template/new/es-ES/new.xlsx new file mode 100644 index 0000000000..f7a931c249 Binary files /dev/null and b/media/office-template/new/es-ES/new.xlsx differ diff --git a/media/office-template/new/fr-FR/new.docx b/media/office-template/new/fr-FR/new.docx new file mode 100644 index 0000000000..0e3a9699d3 Binary files /dev/null and b/media/office-template/new/fr-FR/new.docx differ diff --git a/media/office-template/new/fr-FR/new.docxf b/media/office-template/new/fr-FR/new.docxf new file mode 100644 index 0000000000..5ab3e86b1c Binary files /dev/null and b/media/office-template/new/fr-FR/new.docxf differ diff --git a/media/office-template/new/fr-FR/new.pptx b/media/office-template/new/fr-FR/new.pptx new file mode 100644 index 0000000000..13c3e4daa3 Binary files /dev/null and b/media/office-template/new/fr-FR/new.pptx differ diff --git a/media/office-template/new/fr-FR/new.xlsx b/media/office-template/new/fr-FR/new.xlsx new file mode 100644 index 0000000000..8e027e2cd0 Binary files /dev/null and b/media/office-template/new/fr-FR/new.xlsx differ diff --git a/media/office-template/new/it-IT/new.docx b/media/office-template/new/it-IT/new.docx new file mode 100644 index 0000000000..9fea7eb1a9 Binary files /dev/null and b/media/office-template/new/it-IT/new.docx differ diff --git a/media/office-template/new/it-IT/new.docxf b/media/office-template/new/it-IT/new.docxf new file mode 100644 index 0000000000..44a14b24ca Binary files /dev/null and b/media/office-template/new/it-IT/new.docxf differ diff --git a/media/office-template/new/it-IT/new.pptx b/media/office-template/new/it-IT/new.pptx new file mode 100644 index 0000000000..7e5e2864cb Binary files /dev/null and b/media/office-template/new/it-IT/new.pptx differ diff --git a/media/office-template/new/it-IT/new.xlsx b/media/office-template/new/it-IT/new.xlsx new file mode 100644 index 0000000000..e5f6b52ecc Binary files /dev/null and b/media/office-template/new/it-IT/new.xlsx differ diff --git a/media/office-template/new/ja-JP/new.docx b/media/office-template/new/ja-JP/new.docx new file mode 100644 index 0000000000..d4a5cff7da Binary files /dev/null and b/media/office-template/new/ja-JP/new.docx differ diff --git a/media/office-template/new/ja-JP/new.docxf b/media/office-template/new/ja-JP/new.docxf new file mode 100644 index 0000000000..cbff106af1 Binary files /dev/null and b/media/office-template/new/ja-JP/new.docxf differ diff --git a/media/office-template/new/ja-JP/new.pptx b/media/office-template/new/ja-JP/new.pptx new file mode 100644 index 0000000000..b7a6c639c2 Binary files /dev/null and b/media/office-template/new/ja-JP/new.pptx differ diff --git a/media/office-template/new/ja-JP/new.xlsx b/media/office-template/new/ja-JP/new.xlsx new file mode 100644 index 0000000000..342954a2e6 Binary files /dev/null and b/media/office-template/new/ja-JP/new.xlsx differ diff --git a/media/office-template/new/ko-KR/new.docx b/media/office-template/new/ko-KR/new.docx new file mode 100644 index 0000000000..e091766d7f Binary files /dev/null and b/media/office-template/new/ko-KR/new.docx differ diff --git a/media/office-template/new/ko-KR/new.docxf b/media/office-template/new/ko-KR/new.docxf new file mode 100644 index 0000000000..30308ed31b Binary files /dev/null and b/media/office-template/new/ko-KR/new.docxf differ diff --git a/media/office-template/new/ko-KR/new.pptx b/media/office-template/new/ko-KR/new.pptx new file mode 100644 index 0000000000..431b5e1f99 Binary files /dev/null and b/media/office-template/new/ko-KR/new.pptx differ diff --git a/media/office-template/new/ko-KR/new.xlsx b/media/office-template/new/ko-KR/new.xlsx new file mode 100644 index 0000000000..5aebd8c787 Binary files /dev/null and b/media/office-template/new/ko-KR/new.xlsx differ diff --git a/media/office-template/new/lv-LV/new.docx b/media/office-template/new/lv-LV/new.docx new file mode 100644 index 0000000000..19a8a32aaa Binary files /dev/null and b/media/office-template/new/lv-LV/new.docx differ diff --git a/media/office-template/new/lv-LV/new.docxf b/media/office-template/new/lv-LV/new.docxf new file mode 100644 index 0000000000..15ee74e2c3 Binary files /dev/null and b/media/office-template/new/lv-LV/new.docxf differ diff --git a/media/office-template/new/lv-LV/new.pptx b/media/office-template/new/lv-LV/new.pptx new file mode 100644 index 0000000000..2b4d410fef Binary files /dev/null and b/media/office-template/new/lv-LV/new.pptx differ diff --git a/media/office-template/new/lv-LV/new.xlsx b/media/office-template/new/lv-LV/new.xlsx new file mode 100644 index 0000000000..8b6396c797 Binary files /dev/null and b/media/office-template/new/lv-LV/new.xlsx differ diff --git a/media/office-template/new/nl-NL/new.docx b/media/office-template/new/nl-NL/new.docx new file mode 100644 index 0000000000..27ea1ef507 Binary files /dev/null and b/media/office-template/new/nl-NL/new.docx differ diff --git a/media/office-template/new/nl-NL/new.docxf b/media/office-template/new/nl-NL/new.docxf new file mode 100644 index 0000000000..13da6d844a Binary files /dev/null and b/media/office-template/new/nl-NL/new.docxf differ diff --git a/media/office-template/new/nl-NL/new.pptx b/media/office-template/new/nl-NL/new.pptx new file mode 100644 index 0000000000..4e6f5b061c Binary files /dev/null and b/media/office-template/new/nl-NL/new.pptx differ diff --git a/media/office-template/new/nl-NL/new.xlsx b/media/office-template/new/nl-NL/new.xlsx new file mode 100644 index 0000000000..339d4b63da Binary files /dev/null and b/media/office-template/new/nl-NL/new.xlsx differ diff --git a/media/office-template/new/pl-PL/new.docx b/media/office-template/new/pl-PL/new.docx new file mode 100644 index 0000000000..ded676ec3c Binary files /dev/null and b/media/office-template/new/pl-PL/new.docx differ diff --git a/media/office-template/new/pl-PL/new.docxf b/media/office-template/new/pl-PL/new.docxf new file mode 100644 index 0000000000..bc635f6aba Binary files /dev/null and b/media/office-template/new/pl-PL/new.docxf differ diff --git a/media/office-template/new/pl-PL/new.pptx b/media/office-template/new/pl-PL/new.pptx new file mode 100644 index 0000000000..55ec2545e0 Binary files /dev/null and b/media/office-template/new/pl-PL/new.pptx differ diff --git a/media/office-template/new/pl-PL/new.xlsx b/media/office-template/new/pl-PL/new.xlsx new file mode 100644 index 0000000000..6f55bb9167 Binary files /dev/null and b/media/office-template/new/pl-PL/new.xlsx differ diff --git a/media/office-template/new/pt-BR/new.docx b/media/office-template/new/pt-BR/new.docx new file mode 100644 index 0000000000..513e3ecd8f Binary files /dev/null and b/media/office-template/new/pt-BR/new.docx differ diff --git a/media/office-template/new/pt-BR/new.docxf b/media/office-template/new/pt-BR/new.docxf new file mode 100644 index 0000000000..14497c02df Binary files /dev/null and b/media/office-template/new/pt-BR/new.docxf differ diff --git a/media/office-template/new/pt-BR/new.pptx b/media/office-template/new/pt-BR/new.pptx new file mode 100644 index 0000000000..a03d6b411e Binary files /dev/null and b/media/office-template/new/pt-BR/new.pptx differ diff --git a/media/office-template/new/pt-BR/new.xlsx b/media/office-template/new/pt-BR/new.xlsx new file mode 100644 index 0000000000..de6be657a3 Binary files /dev/null and b/media/office-template/new/pt-BR/new.xlsx differ diff --git a/media/office-template/new/ru-RU/new.docx b/media/office-template/new/ru-RU/new.docx new file mode 100644 index 0000000000..31ec567666 Binary files /dev/null and b/media/office-template/new/ru-RU/new.docx differ diff --git a/media/office-template/new/ru-RU/new.docxf b/media/office-template/new/ru-RU/new.docxf new file mode 100644 index 0000000000..03a1564fe4 Binary files /dev/null and b/media/office-template/new/ru-RU/new.docxf differ diff --git a/media/office-template/new/ru-RU/new.pptx b/media/office-template/new/ru-RU/new.pptx new file mode 100644 index 0000000000..8a1294d75b Binary files /dev/null and b/media/office-template/new/ru-RU/new.pptx differ diff --git a/media/office-template/new/ru-RU/new.xlsx b/media/office-template/new/ru-RU/new.xlsx new file mode 100644 index 0000000000..ca70e595f7 Binary files /dev/null and b/media/office-template/new/ru-RU/new.xlsx differ diff --git a/media/office-template/new/sv-SE/new.docx b/media/office-template/new/sv-SE/new.docx new file mode 100644 index 0000000000..19434133fe Binary files /dev/null and b/media/office-template/new/sv-SE/new.docx differ diff --git a/media/office-template/new/sv-SE/new.docxf b/media/office-template/new/sv-SE/new.docxf new file mode 100644 index 0000000000..7746c6e8ea Binary files /dev/null and b/media/office-template/new/sv-SE/new.docxf differ diff --git a/media/office-template/new/sv-SE/new.pptx b/media/office-template/new/sv-SE/new.pptx new file mode 100644 index 0000000000..e5fd24ea22 Binary files /dev/null and b/media/office-template/new/sv-SE/new.pptx differ diff --git a/media/office-template/new/sv-SE/new.xlsx b/media/office-template/new/sv-SE/new.xlsx new file mode 100644 index 0000000000..a92dde8b11 Binary files /dev/null and b/media/office-template/new/sv-SE/new.xlsx differ diff --git a/media/office-template/new/uk-UA/new.docx b/media/office-template/new/uk-UA/new.docx new file mode 100644 index 0000000000..425924ba8f Binary files /dev/null and b/media/office-template/new/uk-UA/new.docx differ diff --git a/media/office-template/new/uk-UA/new.docxf b/media/office-template/new/uk-UA/new.docxf new file mode 100644 index 0000000000..202a70b2c8 Binary files /dev/null and b/media/office-template/new/uk-UA/new.docxf differ diff --git a/media/office-template/new/uk-UA/new.pptx b/media/office-template/new/uk-UA/new.pptx new file mode 100644 index 0000000000..681486b183 Binary files /dev/null and b/media/office-template/new/uk-UA/new.pptx differ diff --git a/media/office-template/new/uk-UA/new.xlsx b/media/office-template/new/uk-UA/new.xlsx new file mode 100644 index 0000000000..591223170c Binary files /dev/null and b/media/office-template/new/uk-UA/new.xlsx differ diff --git a/media/office-template/new/vi-VN/new.docx b/media/office-template/new/vi-VN/new.docx new file mode 100644 index 0000000000..ed0a2e45de Binary files /dev/null and b/media/office-template/new/vi-VN/new.docx differ diff --git a/media/office-template/new/vi-VN/new.docxf b/media/office-template/new/vi-VN/new.docxf new file mode 100644 index 0000000000..bc7e9322fc Binary files /dev/null and b/media/office-template/new/vi-VN/new.docxf differ diff --git a/media/office-template/new/vi-VN/new.pptx b/media/office-template/new/vi-VN/new.pptx new file mode 100644 index 0000000000..65151620d4 Binary files /dev/null and b/media/office-template/new/vi-VN/new.pptx differ diff --git a/media/office-template/new/vi-VN/new.xlsx b/media/office-template/new/vi-VN/new.xlsx new file mode 100644 index 0000000000..ec0a10d123 Binary files /dev/null and b/media/office-template/new/vi-VN/new.xlsx differ diff --git a/media/office-template/new/zh-CN/new.docx b/media/office-template/new/zh-CN/new.docx new file mode 100644 index 0000000000..8744772ab6 Binary files /dev/null and b/media/office-template/new/zh-CN/new.docx differ diff --git a/media/office-template/new/zh-CN/new.docxf b/media/office-template/new/zh-CN/new.docxf new file mode 100644 index 0000000000..125a2985d5 Binary files /dev/null and b/media/office-template/new/zh-CN/new.docxf differ diff --git a/media/office-template/new/zh-CN/new.pptx b/media/office-template/new/zh-CN/new.pptx new file mode 100644 index 0000000000..48456d7931 Binary files /dev/null and b/media/office-template/new/zh-CN/new.pptx differ diff --git a/media/office-template/new/zh-CN/new.xlsx b/media/office-template/new/zh-CN/new.xlsx new file mode 100644 index 0000000000..fcdeda1d0f Binary files /dev/null and b/media/office-template/new/zh-CN/new.xlsx differ diff --git a/media/office-template/new/zh-TW/new.docx b/media/office-template/new/zh-TW/new.docx new file mode 100644 index 0000000000..a1add75567 Binary files /dev/null and b/media/office-template/new/zh-TW/new.docx differ diff --git a/media/office-template/new/zh-TW/new.docxf b/media/office-template/new/zh-TW/new.docxf new file mode 100644 index 0000000000..91eac9a9f2 Binary files /dev/null and b/media/office-template/new/zh-TW/new.docxf differ diff --git a/media/office-template/new/zh-TW/new.pptx b/media/office-template/new/zh-TW/new.pptx new file mode 100644 index 0000000000..a3d767ab4d Binary files /dev/null and b/media/office-template/new/zh-TW/new.pptx differ diff --git a/media/office-template/new/zh-TW/new.xlsx b/media/office-template/new/zh-TW/new.xlsx new file mode 100644 index 0000000000..d34714cca3 Binary files /dev/null and b/media/office-template/new/zh-TW/new.xlsx differ diff --git a/seahub/api2/endpoints/file.py b/seahub/api2/endpoints/file.py index 6bdfe10190..dcbd82839b 100644 --- a/seahub/api2/endpoints/file.py +++ b/seahub/api2/endpoints/file.py @@ -171,6 +171,7 @@ class FileView(APIView): is_draft = request.POST.get('is_draft', '') if operation == 'create': + # resource check try: parent_dir_id = seafile_api.get_dir_id_by_path(repo_id, parent_dir) @@ -223,15 +224,37 @@ class FileView(APIView): if is_draft.lower() == 'true': Draft.objects.add(username, repo, path, file_exist=False) - # update office file by template - if new_file_name.endswith('.xlsx'): - empty_file_path = os.path.join(OFFICE_TEMPLATE_ROOT, 'empty.xlsx') - elif new_file_name.endswith('.pptx'): - empty_file_path = os.path.join(OFFICE_TEMPLATE_ROOT, 'empty.pptx') - elif new_file_name.endswith('.docx'): - empty_file_path = os.path.join(OFFICE_TEMPLATE_ROOT, 'empty.docx') - else: - empty_file_path = '' + LANGUAGE_DICT = { + 'cs': 'cs-CZ', + 'de': 'de-DE', + 'en': 'en-US', + 'es': 'es-ES', + 'fr': 'fr-FR', + 'it': 'it-IT', + 'lv': 'lv-LV', + 'nl': 'nl-NL', + 'pl': 'pl-PL', + 'pt-br': 'pt-BR', + 'ru': 'ru-RU', + 'sv': 'sv-SE', + 'vi': 'vi-VN', + 'uk': 'uk-UA', + 'el': 'el-GR', + 'ko': 'ko-KR', + 'ja': 'ja-JP', + 'zh-cn': 'zh-CN', + 'zh-tw': 'zh-TW' + } + + empty_file_path = '' + not_used, file_extension = os.path.splitext(new_file_name) + if file_extension in ('.xlsx', '.pptx', '.docx', '.docxf'): + # update office file by template + empty_file_path = os.path.join(OFFICE_TEMPLATE_ROOT, f'empty{file_extension}') + language_code_path = LANGUAGE_DICT.get(request.LANGUAGE_CODE) + if language_code_path: + empty_file_path = os.path.join(OFFICE_TEMPLATE_ROOT, 'new', + language_code_path, f'new{file_extension}') if empty_file_path: # get file server update url