From 78df15970c7b4eb3215cfcd0d4d727294de5d95a Mon Sep 17 00:00:00 2001 From: sokumon Date: Sun, 23 Feb 2025 00:59:03 +0530 Subject: [PATCH 1/2] fix: add check for child doctype if it has a valid parent --- frappe/desk/form/linked_with.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frappe/desk/form/linked_with.py b/frappe/desk/form/linked_with.py index d2878d464b..f4aa8f5c22 100644 --- a/frappe/desk/form/linked_with.py +++ b/frappe/desk/form/linked_with.py @@ -504,6 +504,10 @@ def get_linked_docs(doctype: str, name: str, linkinfo: dict | None = None) -> di # dynamic link_context if doctype_fieldname := link_context.get("doctype_fieldname"): filters.append([linked_doctype, doctype_fieldname, "=", doctype]) + # check for child table that no one links to + if linked_doctype_meta.istable: + if not frappe.db.exists("DocField", {"options": linked_doctype}): + continue ret = frappe.get_list( doctype=linked_doctype, fields=fields, filters=filters, or_filters=or_filters, order_by=None ) From d943c9e4635c6137cedfc220675dac7ed4c6637a Mon Sep 17 00:00:00 2001 From: sokumon Date: Sun, 23 Feb 2025 19:49:41 +0530 Subject: [PATCH 2/2] fix: dont skip if any record is present --- frappe/desk/form/linked_with.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/desk/form/linked_with.py b/frappe/desk/form/linked_with.py index f4aa8f5c22..cb1169276f 100644 --- a/frappe/desk/form/linked_with.py +++ b/frappe/desk/form/linked_with.py @@ -506,7 +506,10 @@ def get_linked_docs(doctype: str, name: str, linkinfo: dict | None = None) -> di filters.append([linked_doctype, doctype_fieldname, "=", doctype]) # check for child table that no one links to if linked_doctype_meta.istable: - if not frappe.db.exists("DocField", {"options": linked_doctype}): + if not ( + frappe.db.exists("DocField", {"options": linked_doctype}) + or frappe.db.exists(linked_doctype, {"parenttype": doctype, "parent": name}) + ): continue ret = frappe.get_list( doctype=linked_doctype, fields=fields, filters=filters, or_filters=or_filters, order_by=None