From d4c4cbf2e0ecde042f480e3d490ff993c314adc1 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); } });