fix: Добавлены альтернативные варианты открытия файлов в Nextcloud

Проблема: Редакторы документов (OnlyOffice, Collabora) не установлены в Nextcloud
Решение: Добавлены дополнительные варианты открытия файлов

Изменения:
- crm_extensions/nextcloud_editor/js/nextcloud-editor.js:
  * Убран параметр editing=false для Files App
  * Добавлены варианты: download_direct, view_only
  * Улучшена логика fallback при ошибках

Добавлены тестовые страницы:
- test_nc_open.html - тест разных редакторов
- simple_test.html - простое модальное окно с вариантами

Варианты открытия:
1. Files App (показать файл в менеджере)
2. Прямое скачивание через WebDAV
3. Просмотр (если поддерживается браузером)

Теперь кнопка Nextcloud будет работать даже без установленных редакторов
This commit is contained in:
Fedor
2025-10-20 19:35:14 +03:00
parent 76abcbc70b
commit f9484d6bc6
6 changed files with 394 additions and 2 deletions

View File

@@ -81,14 +81,16 @@ function createEditUrls(baseEditUrl, recordId, fileName, fileId = 662) {
const filePath = `/crm/crm2/CRM_Active_Files/Documents/${recordId}/${encodedFileName}`;
const urls = {
'correct_path': fileId ? `${baseUrl}/apps/files/files/${fileId}?dir=/crm/crm2/CRM_Active_Files/Documents/${recordId}&editing=false&openfile=true` : `${baseUrl}/apps/files/?dir=/crm/crm2/CRM_Active_Files/Documents/${recordId}&openfile=${encodedFileName}`,
'correct_path': fileId ? `${baseUrl}/apps/files/files/${fileId}?dir=/crm/crm2/CRM_Active_Files/Documents/${recordId}&openfile=true` : `${baseUrl}/apps/files/?dir=/crm/crm2/CRM_Active_Files/Documents/${recordId}&openfile=${encodedFileName}`,
'collabora_path': `${baseUrl}/apps/richdocuments/open?path=${filePath}`,
'onlyoffice_path': `${baseUrl}/apps/onlyoffice/open?path=${filePath}`,
'files_manager': `${baseUrl}/apps/files/?dir=/crm/crm2/CRM_Active_Files/Documents/${recordId}&openfile=${encodedFileName}`,
'collabora_id': fileId ? `${baseUrl}/apps/richdocuments/index?fileId=${fileId}` : null,
'onlyoffice_id': fileId ? `${baseUrl}/apps/onlyoffice?fileId=${fileId}` : null,
'files_app': `${baseUrl}/apps/files/?dir=/crm/crm2/CRM_Active_Files/Documents/${recordId}&openfile=${encodedFileName}&action=edit`,
'simple_files': `${baseUrl}/apps/files/?dir=/crm/crm2/CRM_Active_Files/Documents/${recordId}`
'simple_files': `${baseUrl}/apps/files/?dir=/crm/crm2/CRM_Active_Files/Documents/${recordId}`,
'download_direct': `${baseUrl}/remote.php/dav/files/admin${filePath}`,
'view_only': `${baseUrl}/apps/files/files/${fileId}?dir=/crm/crm2/CRM_Active_Files/Documents/${recordId}&openfile=true&view=1`
};
// Убираем null значения