Hola a todos,
Estoy desarrollando módulos personalizados en Odoo 17 y me encuentro con un problema persistente al intentar importar un archivo CSV a un modelo personalizado. Agradecería mucho vuestra ayuda.
Contexto del Entorno:
- Versión de Odoo: Odoo 17
- Sistema: Odoo está instalado en una Máquina Virtual (MV) con Ubuntu Server 22.04.
- Acceso a Odoo: Accedo a la interfaz web de Odoo (http://localhost:8069) desde el navegador (Chrome) que también está instalado y se ejecuta dentro de la misma Máquina Virtual. Es decir, navegador y servidor Odoo están en el mismo entorno.
- Módulos Afectados: Estoy trabajando en un módulo personalizado (amazon_catalogs) que define varios modelos para almacenar datos de referencia. El problema ocurre al intentar importar datos a cualquiera de estos modelos.
- Base de Datos: Estoy trabajando en la base de datos Ofituria.
Problema Detallado:
Al intentar importar un archivo CSV a través de la interfaz de Odoo (en el menú de un modelo personalizado, como Catálogos Amazon -> Mapeo Proveedores -> Rueda de engranaje -> Importar registros -> Cargar archivo):
- Selecciono el archivo CSV desde el explorador de archivos de la MV.
- El explorador de archivos se cierra.
- La pantalla de Odoo donde debería previsualizar los datos y permitirme mapear las columnas permanece en blanco, sin cambios, como si no se hubiera cargado nada.
- En la consola del navegador (Chrome, dentro de la MV), se muestra el siguiente error:
UncaughtPromiseError > TypeError Uncaught Promise > Failed to fetch TypeError: Failed to fetch at Object.post (http://localhost:8069/web/assets/80df7b8/web.assets_web.min.js:2932:30) at FileInput.uploadFiles (http://localhost:8069/web/assets/80df7b8/web.assets_web.min.js:2520:32) at FileInput.onFileInputChange (http://localhost:8069/web/assets/80df7b8/web.assets_web.min.js:2522:85) at Object.mainEventHandler (http://localhost:8069/web/assets/80df7b8/web.assets_web.min.js:1593:77) at HTMLInputElement.listener (http://localhost:8069/web/assets/80df7b8/web.assets_web.min.js:748:15)
Pasos ya Intentados (y Resultados):
- Verificación de Logs de Odoo: He monitoreado los logs del servicio de Odoo (sudo journalctl -u odoo.service -f) mientras intento la importación. No aparece ninguna entrada nueva, ningún ERROR ni WARNING en los logs del servidor de Odoo en el momento de la falla. Esto sugiere que la petición no llega al servidor.
- Prueba con CSV Simplificado: He creado un archivo CSV muy simple (solo encabezados y una o dos líneas de datos básicos, e.g., codigo_interno_proveedor,nacionalidad\nTEST1,ES) con codificación UTF-8. El error persiste.
- Cambio de Navegador/Modo Incógnito: He probado la importación en modo incógnito de Chrome (dentro de la MV) y el error Failed to fetch sigue apareciendo. Esto descarta problemas de caché o extensiones del navegador.
- Permisos de Archivo (Antiguo problema, ahora descartado): Inicialmente tuve un IndentationError en Python y un KeyError en un CSV de seguridad, ambos ya resueltos. La instalación del módulo amazon_catalogs fue exitosa.
Lo que Considero Ahora (y Pido Ayuda):
Dado que el servidor no registra la petición y el problema ocurre en el navegador dentro de la misma MV, mis sospechas actuales se centran en:
- Firewall Interno de la MV (Ubuntu - ufw): ¿Podría un firewall local (como ufw) estar bloqueando incluso las comunicaciones localhost a ese puerto? ¿Qué reglas específicas debo verificar o aplicar? He comprobado sudo ufw status, pero no estoy seguro de qué buscar exactamente.
- Limitaciones de Recursos de la MV: ¿Podría el navegador estar quedándose sin memoria o CPU al intentar procesar el archivo o la solicitud de subida, incluso para un CSV simple? La MV tiene asignados 4GB de RAM y 2 núcleos de CPU.
- Problema de Integración de Navegador/Sistema Operativo en la MV: ¿Hay algún problema conocido con Chrome/Ubuntu Desktop en una MV que impida las subidas de archivos a aplicaciones web locales?
- Corrupción más sutil del archivo CSV o del proceso de descarga/acceso al archivo dentro de la MV: Aunque he probado un CSV simple, ¿podría ser un problema de cómo el navegador accede al archivo en el sistema de archivos de la MV?
Cualquier orientación o sugerencia sería enormemente apreciada. ¡Gracias de antemano!