From 4119ef7203c51e0ab9a061f7144fb185e87c8a96 Mon Sep 17 00:00:00 2001 From: Akhil Narang Date: Fri, 24 Oct 2025 17:00:03 +0530 Subject: [PATCH 1/2] fix: don't show stray `,` in communication relink dialog for some doctypes Some doctypes like `Payment Entry`, `Bank Account`, `Pricing Rule` were present in 2 dashboards (customer and supplier dashboard), both of which were included in ERPNext communucation_doctype hooks Signed-off-by: Akhil Narang --- frappe/email/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/email/__init__.py b/frappe/email/__init__.py index 0f8b879c09..b7c8a92673 100644 --- a/frappe/email/__init__.py +++ b/frappe/email/__init__.py @@ -100,7 +100,7 @@ def get_communication_doctype(doctype, txt, searchfield, start, page_len, filter results = [] txt_lower = txt.lower().replace("%", "") - for dt in com_doctypes: + for dt in list(set(com_doctypes)): if dt in can_read: if txt_lower in dt.lower() or txt_lower in _(dt).lower(): results.append([dt]) From 6a690be141de336ac3cec23f34aacc67b9c7d0e2 Mon Sep 17 00:00:00 2001 From: Akhil Narang Date: Fri, 24 Oct 2025 17:39:54 +0530 Subject: [PATCH 2/2] fix(link): check whether description exists before trying to merge duplicates Signed-off-by: Akhil Narang --- frappe/public/js/frappe/form/controls/link.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/link.js b/frappe/public/js/frappe/form/controls/link.js index 253c9377de..9bb1796272 100644 --- a/frappe/public/js/frappe/form/controls/link.js +++ b/frappe/public/js/frappe/form/controls/link.js @@ -441,7 +441,9 @@ frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlDat if (newArr.length === 0) return [currElem]; let element_with_same_value = newArr.find((e) => e.value === currElem.value); if (element_with_same_value) { - element_with_same_value.description += `, ${currElem.description}`; + if (currElem.description) { + element_with_same_value.description += `, ${currElem.description}`; + } return [...newArr]; } return [...newArr, currElem];