1
0
forked from test/crm

fix: update deal's email/mobile_no if primary contact's email or mobile_no is updated

This commit is contained in:
Shariq Ansari 2024-09-23 16:40:09 +05:30
parent 29c709e424
commit 9313868299

View File

@ -7,6 +7,7 @@ def validate(doc, method):
set_primary_mobile_no(doc)
doc.set_primary_email()
doc.set_primary("mobile_no")
update_deals_email_mobile_no(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
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()
def get_contact(name):
Contact = frappe.qb.DocType("Contact")