From 20815aa3491cbca3e5377f9e6fcc30f3e21e8f0f Mon Sep 17 00:00:00 2001 From: Prssanna Desai Date: Tue, 30 Jun 2020 08:03:28 +0530 Subject: [PATCH] refactor: remove unnecessary code from get_submitted_linked_docs (#10844) Co-authored-by: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com> --- frappe/desk/form/linked_with.py | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/frappe/desk/form/linked_with.py b/frappe/desk/form/linked_with.py index a121e71dc8..5bae49ea95 100644 --- a/frappe/desk/form/linked_with.py +++ b/frappe/desk/form/linked_with.py @@ -13,7 +13,7 @@ from frappe.modules import load_doctype_module @frappe.whitelist() -def get_submitted_linked_docs(doctype, name, docs=None, linked=None, visited=None): +def get_submitted_linked_docs(doctype, name, docs=None, visited=None): """ Get all nested submitted linked doctype linkinfo @@ -31,34 +31,27 @@ def get_submitted_linked_docs(doctype, name, docs=None, linked=None, visited=Non if not docs: docs = [] - if not linked: - linked = {} - if not visited: - visited = [] + visited = {} - if name in visited: + if doctype not in visited: + visited[doctype] = [] + + if name in visited[doctype]: return linkinfo = get_linked_doctypes(doctype) linked_docs = get_linked_docs(doctype, name, linkinfo) link_count = 0 - visited.append(name) - + visited[doctype].append(name) + for link_doctype, link_names in linked_docs.items(): - if link_doctype not in linked: - linked[link_doctype] = [] for link in link_names: if link['name'] == name: continue - if linked and name in linked[link_doctype]: - continue - - linked[link_doctype].append(link['name']) - docinfo = link.update({"doctype": link_doctype}) validated_doc = validate_linked_doc(docinfo) @@ -66,10 +59,8 @@ def get_submitted_linked_docs(doctype, name, docs=None, linked=None, visited=Non continue link_count += 1 - if link.name in [doc.get("name") for doc in docs]: - continue - links = get_submitted_linked_docs(link_doctype, link.name, docs, linked, visited) + links = get_submitted_linked_docs(link_doctype, link.name, docs, visited) if links: docs.append({ "doctype": link_doctype,