From 124cf1442901404bac39f67aa45b2d9f73c456c1 Mon Sep 17 00:00:00 2001 From: mbauskar Date: Sat, 11 Mar 2017 15:58:22 +0530 Subject: [PATCH] [minor] ignore lead addresses delete query if address against lead not found --- .../company/delete_company_transactions.py | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/erpnext/setup/doctype/company/delete_company_transactions.py b/erpnext/setup/doctype/company/delete_company_transactions.py index eef85992900..f1fb0cf96e4 100644 --- a/erpnext/setup/doctype/company/delete_company_transactions.py +++ b/erpnext/setup/doctype/company/delete_company_transactions.py @@ -78,18 +78,20 @@ def delete_lead_addresses(company_name): addresses = [] if leads: addresses = frappe.db.sql_list("""select parent from `tabDynamic Link` where link_name - in ({leads})""".format(leads=",".join(leads)), debug=True) - addresses = ["'%s'"%addr for addr in addresses] + in ({leads})""".format(leads=",".join(leads))) - frappe.db.sql("""delete from tabAddress where name in ({addresses}) and - name not in (select distinct dl1.parent from `tabDynamic Link` dl1 - inner join `tabDynamic Link` dl2 on dl1.parent=dl2.parent - and dl1.link_doctype<>dl2.link_doctype)""".format(addresses=",".join(addresses)), debug=True) + if addresses: + addresses = ["'%s'"%addr for addr in addresses] - frappe.db.sql("""delete from `tabDynamic Link` where link_doctype='Lead' and parenttype='Address' - and link_name in ({leads})""".format(leads=",".join(leads)), debug=True) + frappe.db.sql("""delete from tabAddress where name in ({addresses}) and + name not in (select distinct dl1.parent from `tabDynamic Link` dl1 + inner join `tabDynamic Link` dl2 on dl1.parent=dl2.parent + and dl1.link_doctype<>dl2.link_doctype)""".format(addresses=",".join(addresses))) - frappe.db.sql("""update tabCustomer set lead_name=NULL where lead_name in ({leads})""".format(leads=",".join(leads)), debug=True) + frappe.db.sql("""delete from `tabDynamic Link` where link_doctype='Lead' + and parenttype='Address' and link_name in ({leads})""".format(leads=",".join(leads))) + + frappe.db.sql("""update tabCustomer set lead_name=NULL where lead_name in ({leads})""".format(leads=",".join(leads))) def delete_communications(doctype, company_name, company_fieldname): frappe.db.sql("""