fix: not able to make sales order from the lead quotation
This commit is contained in:
@@ -212,35 +212,38 @@ def _make_sales_invoice(source_name, target_doc=None, ignore_permissions=False):
|
|||||||
return doclist
|
return doclist
|
||||||
|
|
||||||
def _make_customer(source_name, ignore_permissions=False):
|
def _make_customer(source_name, ignore_permissions=False):
|
||||||
quotation = frappe.db.get_value("Quotation", source_name, ["order_type", "party_name", "customer_name"])
|
quotation = frappe.db.get_value("Quotation",
|
||||||
if quotation and quotation[1] and not quotation[2]:
|
source_name, ["order_type", "party_name", "customer_name"], as_dict=1)
|
||||||
lead_name = quotation[1]
|
|
||||||
customer_name = frappe.db.get_value("Customer", {"lead_name": lead_name},
|
|
||||||
["name", "customer_name"], as_dict=True)
|
|
||||||
if not customer_name:
|
|
||||||
from erpnext.crm.doctype.lead.lead import _make_customer
|
|
||||||
customer_doclist = _make_customer(lead_name, ignore_permissions=ignore_permissions)
|
|
||||||
customer = frappe.get_doc(customer_doclist)
|
|
||||||
customer.flags.ignore_permissions = ignore_permissions
|
|
||||||
if quotation[1] == "Shopping Cart":
|
|
||||||
customer.customer_group = frappe.db.get_value("Shopping Cart Settings", None,
|
|
||||||
"default_customer_group")
|
|
||||||
|
|
||||||
try:
|
if quotation and quotation.get('party_name'):
|
||||||
customer.insert()
|
if not frappe.db.exists("Customer", quotation.get("party_name")):
|
||||||
return customer
|
lead_name = quotation.get("party_name")
|
||||||
except frappe.NameError:
|
customer_name = frappe.db.get_value("Customer", {"lead_name": lead_name},
|
||||||
if frappe.defaults.get_global_default('cust_master_name') == "Customer Name":
|
["name", "customer_name"], as_dict=True)
|
||||||
customer.run_method("autoname")
|
if not customer_name:
|
||||||
customer.name += "-" + lead_name
|
from erpnext.crm.doctype.lead.lead import _make_customer
|
||||||
|
customer_doclist = _make_customer(lead_name, ignore_permissions=ignore_permissions)
|
||||||
|
customer = frappe.get_doc(customer_doclist)
|
||||||
|
customer.flags.ignore_permissions = ignore_permissions
|
||||||
|
if quotation.get("party_name") == "Shopping Cart":
|
||||||
|
customer.customer_group = frappe.db.get_value("Shopping Cart Settings", None,
|
||||||
|
"default_customer_group")
|
||||||
|
|
||||||
|
try:
|
||||||
customer.insert()
|
customer.insert()
|
||||||
return customer
|
return customer
|
||||||
else:
|
except frappe.NameError:
|
||||||
raise
|
if frappe.defaults.get_global_default('cust_master_name') == "Customer Name":
|
||||||
except frappe.MandatoryError:
|
customer.run_method("autoname")
|
||||||
frappe.local.message_log = []
|
customer.name += "-" + lead_name
|
||||||
frappe.throw(_("Please create Customer from Lead {0}").format(lead_name))
|
customer.insert()
|
||||||
|
return customer
|
||||||
|
else:
|
||||||
|
raise
|
||||||
|
except frappe.MandatoryError:
|
||||||
|
frappe.local.message_log = []
|
||||||
|
frappe.throw(_("Please create Customer from Lead {0}").format(lead_name))
|
||||||
|
else:
|
||||||
|
return customer_name
|
||||||
else:
|
else:
|
||||||
return customer_name
|
return frappe.get_doc("Customer", quotation.get("party_name"))
|
||||||
elif quotation and quotation[1]:
|
|
||||||
return frappe.get_doc("Customer",quotation[1])
|
|
||||||
Reference in New Issue
Block a user