From d8e0d8b232a178527b643a613d8b7a710c7f34c9 Mon Sep 17 00:00:00 2001 From: octex Date: Tue, 19 Aug 2025 12:18:05 -0300 Subject: [PATCH 1/3] fix: Fixed issue with translated options for dynamic link in list view filter --- frappe/public/js/frappe/form/controls/dynamic_link.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/dynamic_link.js b/frappe/public/js/frappe/form/controls/dynamic_link.js index 8f64a167dc..04092b0be2 100644 --- a/frappe/public/js/frappe/form/controls/dynamic_link.js +++ b/frappe/public/js/frappe/form/controls/dynamic_link.js @@ -7,17 +7,12 @@ frappe.ui.form.ControlDynamicLink = class ControlDynamicLink extends frappe.ui.f //for dialog box options = cur_dialog.get_value(this.df.options); } else if (!cur_frm) { - const selector = `input[data-fieldname="${this.df.options}"]`; - let input = null; if (cur_list) { // for list page - input = cur_list.filter_area.standard_filters_wrapper.find(selector); + options = cur_list.page.fields_dict[this.df.options].get_input_value(); } if (cur_page) { - input = $(cur_page.page).find(selector); - } - if (input) { - options = input.val(); + options = cur_page.page.fields_dict[this.df.options].get_input_value(); } } else { options = frappe.model.get_value(this.df.parent, this.docname, this.df.options); From d579a6e26c790b145b1ea8c738e0e5c31de9db26 Mon Sep 17 00:00:00 2001 From: octex Date: Tue, 19 Aug 2025 16:08:02 -0300 Subject: [PATCH 2/3] fix: fields_dict does not exists in cur_page --- frappe/public/js/frappe/form/controls/dynamic_link.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/dynamic_link.js b/frappe/public/js/frappe/form/controls/dynamic_link.js index 04092b0be2..a08996d319 100644 --- a/frappe/public/js/frappe/form/controls/dynamic_link.js +++ b/frappe/public/js/frappe/form/controls/dynamic_link.js @@ -11,8 +11,11 @@ frappe.ui.form.ControlDynamicLink = class ControlDynamicLink extends frappe.ui.f // for list page options = cur_list.page.fields_dict[this.df.options].get_input_value(); } - if (cur_page) { - options = cur_page.page.fields_dict[this.df.options].get_input_value(); + else if (cur_page) { + const selector = `input[data-fieldname="${this.df.options}"]`; + let input = null; + input = $(cur_page.page).find(selector); + options = input.val(); } } else { options = frappe.model.get_value(this.df.parent, this.docname, this.df.options); From 0c145cbe28a54cade2a3cab5348374cbc32545c3 Mon Sep 17 00:00:00 2001 From: Ejaaz Khan Date: Fri, 3 Oct 2025 12:48:59 +0530 Subject: [PATCH 3/3] fix: prevent error when dynamic link option field not found in cur_page --- frappe/public/js/frappe/form/controls/dynamic_link.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/dynamic_link.js b/frappe/public/js/frappe/form/controls/dynamic_link.js index a08996d319..3980f003fb 100644 --- a/frappe/public/js/frappe/form/controls/dynamic_link.js +++ b/frappe/public/js/frappe/form/controls/dynamic_link.js @@ -10,12 +10,10 @@ frappe.ui.form.ControlDynamicLink = class ControlDynamicLink extends frappe.ui.f if (cur_list) { // for list page options = cur_list.page.fields_dict[this.df.options].get_input_value(); - } - else if (cur_page) { + } else if (cur_page) { const selector = `input[data-fieldname="${this.df.options}"]`; - let input = null; - input = $(cur_page.page).find(selector); - options = input.val(); + let input = $(cur_page.page).find(selector); + options = input.length ? input.val() : null; } } else { options = frappe.model.get_value(this.df.parent, this.docname, this.df.options);