[fix] contact us page should create a opportunity by default (#6939)
diff --git a/erpnext/templates/utils.py b/erpnext/templates/utils.py
index f33e647..94f9242 100644
--- a/erpnext/templates/utils.py
+++ b/erpnext/templates/utils.py
@@ -10,15 +10,43 @@
@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)