From bf06a84b9ac69c3f372b9028f472ba87c8f3be4b Mon Sep 17 00:00:00 2001 From: Akim Juillerat Date: Thu, 8 Oct 2020 17:18:05 +0200 Subject: [PATCH] web_translate_dialog: Display only fields displayed in the view parent.renderer.state.fields includes all the fields in the model whereas parent.renderer.state.getFieldNames() includes all the fields displayed in the view. This commit filters out fields that are not displayed in the view to avoid the TypeError "undefined is not an object (evaluating '$('[name='+field_name+']')[0].maxLength')" because translatable_fields did include fields that are not in the view. --- web_translate_dialog/static/src/js/web_translate_dialog.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_translate_dialog/static/src/js/web_translate_dialog.js b/web_translate_dialog/static/src/js/web_translate_dialog.js index 4703bfa04..644101f6a 100644 --- a/web_translate_dialog/static/src/js/web_translate_dialog.js +++ b/web_translate_dialog/static/src/js/web_translate_dialog.js @@ -62,7 +62,7 @@ var TranslateDialog = Dialog.extend({ get_translatable_fields: function(parent) { var field_list = []; _.each(parent.renderer.state.fields, function(field, name){ - if (field.translate == true){ + if (field.translate == true && parent.renderer.state.getFieldNames().includes(name)){ field_list.push(name); } });