fix(customer): contact creation for companies (#38055)

This commit is contained in:
David Arnold
2023-11-12 13:21:18 +01:00
committed by barredterra
parent 73d525e84d
commit ed9b38bc8d

View File

@@ -307,13 +307,15 @@ class Customer(TransactionBase):
def create_contact(contact, party_type, party, email):
"""Create contact based on given contact name"""
contact = contact.split(" ")
names = contact.split(" ")
contact = frappe.get_doc(
{
"doctype": "Contact",
"first_name": contact[0],
"last_name": len(contact) > 1 and contact[1] or "",
"first_name": names[0],
"middle_name": len(names) > 2 and " ".join(names[1:-1]) or "",
"last_name": len(names) > 1 and names[-1] or "",
"is_primary_contact": 1,
}
)
contact.append("email_ids", dict(email_id=email, is_primary=1))
@@ -684,14 +686,28 @@ def get_credit_limit(customer, company):
def make_contact(args, is_primary_contact=1):
contact = frappe.get_doc(
{
"doctype": "Contact",
"first_name": args.get("name"),
"is_primary_contact": is_primary_contact,
"links": [{"link_doctype": args.get("doctype"), "link_name": args.get("name")}],
}
)
values = {
"doctype": "Contact",
"is_primary_contact": is_primary_contact,
"links": [{"link_doctype": args.get("doctype"), "link_name": args.get("name")}],
}
if args.customer_type == "Individual":
names = args.get("customer_name").split(" ")
values.update(
{
"first_name": names[0],
"middle_name": len(names) > 2 and " ".join(names[1:-1]) or "",
"last_name": len(names) > 1 and names[-1] or "",
}
)
else:
values.update(
{
"company_name": args.get("customer_name"),
}
)
contact = frappe.get_doc(values)
if args.get("email_id"):
contact.add_email(args.get("email_id"), is_primary=True)
if args.get("mobile_no"):