From fcda5b636c270e80df1d01421bb214fe7be08b8c Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 19 May 2015 11:09:15 +0530 Subject: [PATCH] patch fix --- .../doctype/newsletter_list/newsletter_list.py | 3 ++- erpnext/patches/v4_2/party_model.py | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/erpnext/crm/doctype/newsletter_list/newsletter_list.py b/erpnext/crm/doctype/newsletter_list/newsletter_list.py index ba0eec7e12..e4ba6b1ad4 100644 --- a/erpnext/crm/doctype/newsletter_list/newsletter_list.py +++ b/erpnext/crm/doctype/newsletter_list/newsletter_list.py @@ -7,6 +7,7 @@ import frappe from frappe.model.document import Document from frappe.utils import validate_email_add, strip from frappe import _ +from email.utils import parseaddr class NewsletterList(Document): def onload(self): @@ -23,7 +24,7 @@ class NewsletterList(Document): for user in frappe.db.get_all(doctype, [email_field, unsubscribed_field or "name"]): try: - email = strip(user.get(email_field)) + email = parseaddr(user.get(email_field))[1] if email: frappe.get_doc({ "doctype": "Newsletter List Subscriber", diff --git a/erpnext/patches/v4_2/party_model.py b/erpnext/patches/v4_2/party_model.py index e88bc9e413..ad5610938e 100644 --- a/erpnext/patches/v4_2/party_model.py +++ b/erpnext/patches/v4_2/party_model.py @@ -96,8 +96,19 @@ def set_party_in_jv_and_gl_entry(receivable_payable_accounts): frappe.db.commit() def delete_individual_party_account(): - frappe.db.sql("""delete from `tabAccount` where ifnull(master_type, '') in ('Customer', 'Supplier') - and ifnull(master_name, '') != ''""") + frappe.db.sql("""delete from `tabAccount` acc + where ifnull(acc.master_type, '') in ('Customer', 'Supplier') + and ifnull(acc.master_name, '') != '' + and not exists(select gle.name from `tabGL Entry` gle where gle.account = acc.name)""") + + accounts_not_deleted = frappe.db.sql_list("""select name from `tabAccount` acc + where ifnull(acc.master_type, '') in ('Customer', 'Supplier') + and ifnull(acc.master_name, '') != '' + and exists(select gle.name from `tabGL Entry` gle where gle.account = acc.name)""") + + if accounts_not_deleted: + print "Accounts not deleted: " + "\n".join(accounts_not_deleted) + def remove_customer_supplier_account_report(): for d in ["Customer Account Head", "Supplier Account Head"]: