fix(crm): ensure primary address and contact follows customer setting (#37710)
Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
This commit is contained in:
parent
59438ee8d4
commit
a74e1f1600
@ -7,6 +7,8 @@ from frappe.contacts.address_and_contact import (
|
||||
delete_contact_and_address,
|
||||
load_address_and_contact,
|
||||
)
|
||||
from frappe.contacts.doctype.address.address import get_default_address
|
||||
from frappe.contacts.doctype.contact.contact import get_default_contact
|
||||
from frappe.email.inbox import link_communication_to_document
|
||||
from frappe.model.mapper import get_mapped_doc
|
||||
from frappe.utils import comma_and, get_link_to_form, has_gravatar, validate_email_address
|
||||
@ -251,6 +253,13 @@ def _make_customer(source_name, target_doc=None, ignore_permissions=False):
|
||||
|
||||
target.customer_group = frappe.db.get_default("Customer Group")
|
||||
|
||||
address = get_default_address("Lead", source.name)
|
||||
contact = get_default_contact("Lead", source.name)
|
||||
if address:
|
||||
target.customer_primary_address = address
|
||||
if contact:
|
||||
target.customer_primary_contact = contact
|
||||
|
||||
doclist = get_mapped_doc(
|
||||
"Lead",
|
||||
source_name,
|
||||
|
@ -186,6 +186,8 @@ class Customer(TransactionBase):
|
||||
self.db_set("customer_primary_contact", contact.name)
|
||||
self.db_set("mobile_no", self.mobile_no)
|
||||
self.db_set("email_id", self.email_id)
|
||||
elif self.customer_primary_contact:
|
||||
frappe.set_value("Contact", self.customer_primary_contact, "is_primary_contact", 1) # ensure
|
||||
|
||||
def create_primary_address(self):
|
||||
from frappe.contacts.doctype.address.address import get_address_display
|
||||
@ -196,6 +198,8 @@ class Customer(TransactionBase):
|
||||
|
||||
self.db_set("customer_primary_address", address.name)
|
||||
self.db_set("primary_address", address_display)
|
||||
elif self.customer_primary_address:
|
||||
frappe.set_value("Address", self.customer_primary_address, "is_primary_address", 1) # ensure
|
||||
|
||||
def update_lead_status(self):
|
||||
"""If Customer created from Lead, update lead status to "Converted"
|
||||
@ -312,6 +316,7 @@ def create_contact(contact, party_type, party, email):
|
||||
"doctype": "Contact",
|
||||
"first_name": contact[0],
|
||||
"last_name": len(contact) > 1 and contact[1] or "",
|
||||
"is_primary_contact": 1,
|
||||
}
|
||||
)
|
||||
contact.append("email_ids", dict(email_id=email, is_primary=1))
|
||||
|
Loading…
x
Reference in New Issue
Block a user