Merge pull request #551 from ONLYOFFICE/feature/fetching-formats

Feature/fetching formats
This commit is contained in:
Sergey Linnik
2024-04-03 12:31:53 +03:00
committed by GitHub
40 changed files with 879 additions and 86 deletions

View File

@ -30,6 +30,8 @@ from src.configuration import ConfigurationManager
from src.response import ErrorResponse
from src.utils import docManager, fileUtils, serviceConverter, users, jwtManager, historyManager, trackManager
from urllib.parse import urlparse, parse_qs
from src.format import FormatManager
import msgspec
config_manager = ConfigurationManager()
@ -667,3 +669,12 @@ def restore(request: HttpRequest) -> HttpResponse:
message=f'{type(error)}: {error}',
status=HTTPStatus.INTERNAL_SERVER_ERROR
)
@http.GET()
def formats(request: HttpRequest) -> HttpResponse:
data = {
'formats': [msgspec.to_builtins(format) for format in FormatManager().all()]
}
return HttpResponse(json.dumps(data), content_type='application/json')

View File

@ -16,17 +16,13 @@
"""
import json
from django.shortcuts import render
from src.configuration import ConfigurationManager
from src.format import FormatManager
from src.utils import users
from src.utils import docManager
config_manager = ConfigurationManager()
format_manager = FormatManager()
def getDirectUrlParam(request):
@ -41,10 +37,7 @@ def default(request): # default parameters that will be passed to the template
'users': users.USERS,
'languages': config_manager.languages(),
'preloadurl': config_manager.document_server_preloader_url().geturl(),
'editExt': json.dumps(format_manager.editable_extensions()), # file extensions that can be edited
'convExt': json.dumps(format_manager.convertible_extensions()), # file extensions that can be converted
'files': docManager.getStoredFiles(request), # information about stored files
'fillExt': json.dumps(format_manager.fillable_extensions()),
'directUrl': str(getDirectUrlParam(request)).lower,
'serverVersion': config_manager.getVersion()
}