Skip to content

fix(ECOCONTROL#9): evitar el error de autocompletado al cargar lineas

Estefania requested to merge ECOCONTROL#9-guarda-autocompletado-many2one into dev

Al agregar lineas a un presupuesto saltaba el cartel:

cannot call methods on autocomplete prior to initialization;
attempted to call method 'widget'

Es un bug de Odoo 15, no del modulo. En web/static/src/legacy/js/fields/relational_fields.js, linea 857:

_onInputKeyup: function (ev) {
    const $autocomplete = this.$input.autocomplete("widget");

Llama a autocomplete("widget") sin verificar que jQuery UI ya se haya inicializado sobre ese input. Si la tecla llega antes -se aprieta "Agregar un producto" y se tipea enseguida-, jQuery corta con ese mensaje.

Se agrega la guarda que falta desde el modulo, con un include. Se descarta esa tecla en lugar de romper: hoy la tecla ya se pierde igual, porque la excepcion corta el handler; lo que cambia es que deja de saltar el cartel.

ListFieldMany2One extiende FieldMany2One y su _onInputKeyup llama a _super, asi que con incluirlo sobre la clase base quedan cubiertas las lineas de los pedidos, que es donde se reporto.

ALCANCE: esto toca el comportamiento de TODOS los many2one del sistema, no solo el de los presupuestos. Es un cambio chico pero amplio.

Verificado sobre el entorno local: la guarda viaja en web.assets_backend y el modulo carga sin errores.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

Merge request reports

Loading