diff --git a/crm/fcrm/doctype/crm_deal/api.py b/crm/fcrm/doctype/crm_deal/api.py index ffc5c861..0614f4c6 100644 --- a/crm/fcrm/doctype/crm_deal/api.py +++ b/crm/fcrm/doctype/crm_deal/api.py @@ -32,3 +32,35 @@ def get_deal(name): deal["_form_script"] = get_form_script('CRM Deal') deal["_assign"] = get_assigned_users("CRM Deal", deal.name) return deal + +@frappe.whitelist() +def get_deal_contacts(name): + contacts = frappe.get_all( + "CRM Contacts", + filters={"parenttype": "CRM Deal", "parent": name}, + fields=["contact", "is_primary"], + ) + deal_contacts = [] + for contact in contacts: + is_primary = contact.is_primary + contact = frappe.get_doc("Contact", contact.contact).as_dict() + def get_primary_email(contact): + for email in contact.email_ids: + if email.is_primary: + return email.email_id + return contact.email_ids[0].email_id if contact.email_ids else "" + def get_primary_mobile_no(contact): + for phone in contact.phone_nos: + if phone.is_primary: + return phone.phone + return contact.phone_nos[0].phone if contact.phone_nos else "" + _contact = { + "name": contact.name, + "image": contact.image, + "full_name": contact.full_name, + "email": get_primary_email(contact), + "mobile_no": get_primary_mobile_no(contact), + "is_primary": is_primary, + } + deal_contacts.append(_contact) + return deal_contacts \ No newline at end of file diff --git a/frontend/src/pages/Deal.vue b/frontend/src/pages/Deal.vue index 3cc19784..56ff7fd3 100644 --- a/frontend/src/pages/Deal.vue +++ b/frontend/src/pages/Deal.vue @@ -155,7 +155,14 @@ />