fix: not able to make sales order from the lead quotation

This commit is contained in:
Rohit Waghchaure
2019-05-06 17:16:57 +05:30
parent 2c229c6403
commit ead8d82a84

View File

@@ -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])