From 5db373ca28b6405d4753d0b5370a4b6fca2b48f8 Mon Sep 17 00:00:00 2001 From: rangelbruno Date: Sun, 1 Feb 2026 17:44:44 -0300 Subject: [PATCH] Fix(OnlyOffice): Remove URLs hardcoded para container Docker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove substituições de URL que apontavam para sapl-dev:8000. Usa URLs públicas para que o OnlyOffice remoto consiga acessar. --- sapl/base/onlyoffice_template_views.py | 6 ------ sapl/materia/onlyoffice_materia_views.py | 21 ++------------------- sapl/materia/onlyoffice_views.py | 12 +----------- sapl/materia/views_assinatura.py | 8 ++------ sapl/norma/onlyoffice_views.py | 6 ------ sapl/protocoloadm/onlyoffice_views.py | 6 ------ 6 files changed, 5 insertions(+), 54 deletions(-) diff --git a/sapl/base/onlyoffice_template_views.py b/sapl/base/onlyoffice_template_views.py index 012ff5323..625a78f3a 100644 --- a/sapl/base/onlyoffice_template_views.py +++ b/sapl/base/onlyoffice_template_views.py @@ -47,12 +47,6 @@ def template_onlyoffice_config(request, pk): reverse('sapl.base:template_onlyoffice_callback', kwargs={'pk': pk}) ) - # Substituir localhost/host externo pelo nome do container na rede Docker - host = request.get_host() - download_url = download_url.replace(f'http://{host}', 'http://sapl-dev:8000') - download_url = download_url.replace(f'https://{host}', 'http://sapl-dev:8000') - callback_url = callback_url.replace(f'http://{host}', 'http://sapl-dev:8000') - callback_url = callback_url.replace(f'https://{host}', 'http://sapl-dev:8000') # Configuração do documento document_config = { diff --git a/sapl/materia/onlyoffice_materia_views.py b/sapl/materia/onlyoffice_materia_views.py index 14ac0c854..da4415547 100644 --- a/sapl/materia/onlyoffice_materia_views.py +++ b/sapl/materia/onlyoffice_materia_views.py @@ -53,12 +53,6 @@ def materia_onlyoffice_config(request, pk): reverse('sapl.materia:materia_onlyoffice_callback', kwargs={'pk': pk}) ) - # Substituir localhost/host externo pelo nome do container na rede Docker - host = request.get_host() - download_url = download_url.replace(f'http://{host}', 'http://sapl-dev:8000') - download_url = download_url.replace(f'https://{host}', 'http://sapl-dev:8000') - callback_url = callback_url.replace(f'http://{host}', 'http://sapl-dev:8000') - callback_url = callback_url.replace(f'https://{host}', 'http://sapl-dev:8000') # Configuração do documento document_config = { @@ -296,12 +290,6 @@ def docacessorio_onlyoffice_config(request, pk): reverse('sapl.materia:docacessorio_onlyoffice_callback', kwargs={'pk': pk}) ) - # Substituir localhost/host externo pelo nome do container na rede Docker - host = request.get_host() - download_url = download_url.replace(f'http://{host}', 'http://sapl-dev:8000') - download_url = download_url.replace(f'https://{host}', 'http://sapl-dev:8000') - callback_url = callback_url.replace(f'http://{host}', 'http://sapl-dev:8000') - callback_url = callback_url.replace(f'https://{host}', 'http://sapl-dev:8000') # Configuração do documento document_config = { @@ -568,13 +556,8 @@ def materia_gerar_pdf_assinatura(request, pk): reverse('sapl.materia:materia_onlyoffice_download', kwargs={'pk': pk}) ) - # Substituir pelo nome do container na rede Docker - host = request.get_host() - download_url = download_url.replace(f'http://{host}', 'http://sapl-dev:8000') - download_url = download_url.replace(f'https://{host}', 'http://sapl-dev:8000') - - # URL da API de conversão do OnlyOffice (dentro da rede Docker) - conversion_url = 'http://onlyoffice:80/ConvertService.ashx' + # URL da API de conversão do OnlyOffice + conversion_url = f'{settings.ONLYOFFICE_URL}/ConvertService.ashx' # Configuração da conversão conversion_data = { diff --git a/sapl/materia/onlyoffice_views.py b/sapl/materia/onlyoffice_views.py index abf65848f..1caa1e506 100644 --- a/sapl/materia/onlyoffice_views.py +++ b/sapl/materia/onlyoffice_views.py @@ -46,8 +46,7 @@ def onlyoffice_config(request, pk): base_url = get_base_url(request) - # URLs para o OnlyOffice acessar (dentro da rede Docker) - # OnlyOffice precisa acessar o container SGVP pelo nome do serviço + # URLs para o OnlyOffice acessar o documento download_url = request.build_absolute_uri( reverse('sapl.materia:onlyoffice_download', kwargs={'pk': pk}) ) @@ -55,15 +54,6 @@ def onlyoffice_config(request, pk): reverse('sapl.materia:onlyoffice_callback', kwargs={'pk': pk}) ) - # Substituir localhost/host externo pelo nome do container na rede Docker - # para que o OnlyOffice consiga acessar - host = request.get_host() - # sapl-dev:8000 é o nome do container e porta interna do SAPL - download_url = download_url.replace(f'http://{host}', 'http://sapl-dev:8000') - download_url = download_url.replace(f'https://{host}', 'http://sapl-dev:8000') - callback_url = callback_url.replace(f'http://{host}', 'http://sapl-dev:8000') - callback_url = callback_url.replace(f'https://{host}', 'http://sapl-dev:8000') - # Configuração do documento document_config = { "fileType": "docx", diff --git a/sapl/materia/views_assinatura.py b/sapl/materia/views_assinatura.py index cf2c79fd9..e05df458e 100644 --- a/sapl/materia/views_assinatura.py +++ b/sapl/materia/views_assinatura.py @@ -56,12 +56,8 @@ def _gerar_pdf_da_materia(materia, request): reverse('sapl.materia:materia_onlyoffice_download', kwargs={'pk': materia.pk}) ) - # Substituir pelo nome do container na rede Docker - host = request.get_host() - download_url = download_url.replace(f'http://{host}', 'http://sapl-dev:8000') - download_url = download_url.replace(f'https://{host}', 'http://sapl-dev:8000') - - conversion_url = 'http://onlyoffice:80/ConvertService.ashx' + # URL da API de conversão do OnlyOffice + conversion_url = f'{settings.ONLYOFFICE_URL}/ConvertService.ashx' conversion_data = { "async": False, diff --git a/sapl/norma/onlyoffice_views.py b/sapl/norma/onlyoffice_views.py index 10c9b61a4..c9345b6b0 100644 --- a/sapl/norma/onlyoffice_views.py +++ b/sapl/norma/onlyoffice_views.py @@ -49,12 +49,6 @@ def norma_onlyoffice_config(request, pk): reverse('sapl.norma:norma_onlyoffice_callback', kwargs={'pk': pk}) ) - # Substituir localhost/host externo pelo nome do container na rede Docker - host = request.get_host() - download_url = download_url.replace(f'http://{host}', 'http://sapl-dev:8000') - download_url = download_url.replace(f'https://{host}', 'http://sapl-dev:8000') - callback_url = callback_url.replace(f'http://{host}', 'http://sapl-dev:8000') - callback_url = callback_url.replace(f'https://{host}', 'http://sapl-dev:8000') # Configuração do documento document_config = { diff --git a/sapl/protocoloadm/onlyoffice_views.py b/sapl/protocoloadm/onlyoffice_views.py index e4609e363..7a4ab2289 100644 --- a/sapl/protocoloadm/onlyoffice_views.py +++ b/sapl/protocoloadm/onlyoffice_views.py @@ -49,12 +49,6 @@ def docadm_onlyoffice_config(request, pk): reverse('sapl.protocoloadm:docadm_onlyoffice_callback', kwargs={'pk': pk}) ) - # Substituir localhost/host externo pelo nome do container na rede Docker - host = request.get_host() - download_url = download_url.replace(f'http://{host}', 'http://sapl-dev:8000') - download_url = download_url.replace(f'https://{host}', 'http://sapl-dev:8000') - callback_url = callback_url.replace(f'http://{host}', 'http://sapl-dev:8000') - callback_url = callback_url.replace(f'https://{host}', 'http://sapl-dev:8000') # Configuração do documento document_config = {