diff --git a/erpnext/templates/utils.py b/erpnext/templates/utils.py index f33e64721f..94f924243c 100644 --- a/erpnext/templates/utils.py +++ b/erpnext/templates/utils.py @@ -10,15 +10,43 @@ 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 + 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" + "sent_or_received": "Received", + 'reference_doctype': 'Opportunity', + 'reference_name': opportunity.name }) comm.insert(ignore_permissions=True)