From e961a2fe0998860f051a8ef585dd619b8a7dadda Mon Sep 17 00:00:00 2001 From: Nicolas Lempereur Date: Tue, 23 Jun 2020 16:43:29 +0000 Subject: [FIX] web: action before field willStart end On a re-render, when: - a field is not yet started (still in willStart because of RPC) - then an action is executed we can get a traceback because we try to save the field before it is started and `this.el` is not set. eg. in MRP on a work order: - click on + to get new serial number => page is re-rendered with RPC call to update duration to mrp.workcenter.productivity().search_read to update time counter - click on "Record production" before RPC is finished => traceback because we try to save `duration` that is not already started (`this.$el.toggleClass` when `this.$el` is `undefined`) Without change, added test fails with: "Cannot read property 'toggleClass' of undefined" in BasicRenderer.canBeSaved "Expected 6 assertions, but 5 were run" Before saas-11.3 5faec34a3c this.el was always set in `init` so this issue did not happen. opw-2272117 closes #53532 closes odoo/odoo#53612 X-original-commit: befcad51fd236fdaf284f76cea5624d21c070b0e Signed-off-by: Nicolas Lempereur (nle) --- addons/web/static/src/js/views/basic/basic_renderer.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'addons/web/static/src/js/views/basic') diff --git a/addons/web/static/src/js/views/basic/basic_renderer.js b/addons/web/static/src/js/views/basic/basic_renderer.js index f90e27d23d8..9daa9c9936a 100644 --- a/addons/web/static/src/js/views/basic/basic_renderer.js +++ b/addons/web/static/src/js/views/basic/basic_renderer.js @@ -100,8 +100,10 @@ var BasicRenderer = AbstractRenderer.extend(WidgetAdapterMixin, { if (!canBeSaved) { invalidFields.push(widget.name); } - widget.$el.toggleClass('o_field_invalid', !canBeSaved); - widget.$el.attr('aria-invalid', !canBeSaved); + if (widget.el) { // widget may not be started yet + widget.$el.toggleClass('o_field_invalid', !canBeSaved); + widget.$el.attr('aria-invalid', !canBeSaved); + } }); return invalidFields; }, -- cgit v1.2.3