# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt import frappe @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.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 = %s""", 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", opportunity_from="Customer" if customer else "Lead", status="Open", title=subject, contact_email=sender, ) ) if customer: opportunity.party_name = customer[0][0] elif lead: opportunity.party_name = lead else: opportunity.party_name = 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"