From 98f9427ba124753584205d1452dcb2fa0fce0a1f Mon Sep 17 00:00:00 2001 From: Makarand Bauskar Date: Mon, 20 Feb 2017 10:25:25 +0530 Subject: [PATCH] [minor] minor fixes for contact us page --- erpnext/templates/utils.py | 91 ++++++++++++++++++++------------------ 1 file changed, 47 insertions(+), 44 deletions(-) diff --git a/erpnext/templates/utils.py b/erpnext/templates/utils.py index c1405c374f..81dbdc9847 100644 --- a/erpnext/templates/utils.py +++ b/erpnext/templates/utils.py @@ -9,47 +9,50 @@ from frappe.utils import cint, formatdate @frappe.whitelist(allow_guest=True) def send_message(subject="Website Query", message="", sender="", status="Open"): - from frappe.www.contact import send_message as website_send_message - lead = customer = None - - website_send_message(subject, message, sender) - - customer = frappe.db.get_value('Contact', dict(email_id=sender), 'customer') - if not customer: - lead = frappe.db.get_value('Lead', dict(email_id=sender)) - if not lead: - new_lead = frappe.get_doc(dict( - doctype='Lead', - email_id = sender, - lead_name = sender.split('@')[0].title() - )).insert(ignore_permissions=True) - - opportunity = frappe.get_doc(dict( - doctype='Opportunity', - enquiry_from = 'Customer' if customer else 'Lead', - status = 'Open', - title = subject, - to_discuss=message - )) - - if customer: - opportunity.customer = customer - elif lead: - opportunity.lead = lead - else: - opportunity.lead = new_lead.name - - opportunity.insert(ignore_permissions=True) - - comm = frappe.get_doc({ - "doctype":"Communication", - "subject": subject, - "content": message, - "sender": sender, - "sent_or_received": "Received", - 'reference_doctype': 'Opportunity', - 'reference_name': opportunity.name - }) - comm.insert(ignore_permissions=True) - - return "okay" + from frappe.www.contact import send_message as website_send_message + lead = customer = None + + website_send_message(subject, message, sender) + + customer = frappe.db.sql("""select distinct dl.link_name from `tabDynamic Link` dl + left join `tabContact` c on dl.parent=c.name where dl.link_doctype='Customer' + and c.email_id='{email_id}'""".format(email_id=sender)) + + if not customer: + lead = frappe.db.get_value('Lead', dict(email_id=sender)) + if not lead: + new_lead = frappe.get_doc(dict( + doctype='Lead', + email_id = sender, + lead_name = sender.split('@')[0].title() + )).insert(ignore_permissions=True) + + opportunity = frappe.get_doc(dict( + doctype='Opportunity', + enquiry_from = 'Customer' if customer else 'Lead', + status = 'Open', + title = subject, + to_discuss=message + )) + + if customer: + opportunity.customer = customer[0][0] + elif lead: + opportunity.lead = lead + else: + opportunity.lead = new_lead.name + + opportunity.insert(ignore_permissions=True) + + comm = frappe.get_doc({ + "doctype":"Communication", + "subject": subject, + "content": message, + "sender": sender, + "sent_or_received": "Received", + 'reference_doctype': 'Opportunity', + 'reference_name': opportunity.name + }) + comm.insert(ignore_permissions=True) + + return "okay"