Merge pull request #367 from shariquerik/update-deal-on-contact-update
fix: Sync Contact & Deal primary contact's email/mobile_no
This commit is contained in:
commit
257e9b2e4d
@ -7,6 +7,7 @@ def validate(doc, method):
|
|||||||
set_primary_mobile_no(doc)
|
set_primary_mobile_no(doc)
|
||||||
doc.set_primary_email()
|
doc.set_primary_email()
|
||||||
doc.set_primary("mobile_no")
|
doc.set_primary("mobile_no")
|
||||||
|
update_deals_email_mobile_no(doc)
|
||||||
|
|
||||||
|
|
||||||
def set_primary_email(doc):
|
def set_primary_email(doc):
|
||||||
@ -25,6 +26,21 @@ def set_primary_mobile_no(doc):
|
|||||||
doc.phone_nos[0].is_primary_mobile_no = 1
|
doc.phone_nos[0].is_primary_mobile_no = 1
|
||||||
|
|
||||||
|
|
||||||
|
def update_deals_email_mobile_no(doc):
|
||||||
|
linked_deals = frappe.get_all(
|
||||||
|
"CRM Contacts",
|
||||||
|
filters={"contact": doc.name, "is_primary": 1},
|
||||||
|
fields=["parent"],
|
||||||
|
)
|
||||||
|
|
||||||
|
for linked_deal in linked_deals:
|
||||||
|
deal = frappe.get_cached_doc("CRM Deal", linked_deal.parent)
|
||||||
|
if deal.email != doc.email_id or deal.mobile_no != doc.mobile_no:
|
||||||
|
deal.email = doc.email_id
|
||||||
|
deal.mobile_no = doc.mobile_no
|
||||||
|
deal.save(ignore_permissions=True)
|
||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_contact(name):
|
def get_contact(name):
|
||||||
Contact = frappe.qb.DocType("Contact")
|
Contact = frappe.qb.DocType("Contact")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user