From 95661987e84a53f7235ce328ae5ac8fca4316e79 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 13 Mar 2024 12:17:11 +0530 Subject: [PATCH] refactor: removed contact store from contact & contact modal --- crm/api/contact.py | 26 +++++++ .../src/components/Modals/ContactModal.vue | 46 ++++++------ frontend/src/pages/Contact.vue | 74 +++++++++++-------- 3 files changed, 91 insertions(+), 55 deletions(-) diff --git a/crm/api/contact.py b/crm/api/contact.py index e13fc469..2f52f433 100644 --- a/crm/api/contact.py +++ b/crm/api/contact.py @@ -1,4 +1,5 @@ import frappe +from frappe import _ def validate(doc, method): @@ -24,6 +25,31 @@ def set_primary_mobile_no(doc): doc.phone_nos[0].is_primary_mobile_no = 1 +@frappe.whitelist() +def get_contact(name): + Contact = frappe.qb.DocType("Contact") + + query = ( + frappe.qb.from_(Contact) + .select("*") + .where(Contact.name == name) + .limit(1) + ) + + contact = query.run(as_dict=True) + if not len(contact): + frappe.throw(_("Contact not found"), frappe.DoesNotExistError) + contact = contact.pop() + + contact["doctype"] = "Contact" + contact["email_ids"] = frappe.get_all( + "Contact Email", filters={"parent": name}, fields=["name", "email_id", "is_primary"] + ) + contact["phone_nos"] = frappe.get_all( + "Contact Phone", filters={"parent": name}, fields=["name", "phone", "is_primary_mobile_no"] + ) + return contact + @frappe.whitelist() def get_linked_deals(contact): """Get linked deals for a contact""" diff --git a/frontend/src/components/Modals/ContactModal.vue b/frontend/src/components/Modals/ContactModal.vue index a2ecfbf2..3cf323b7 100644 --- a/frontend/src/components/Modals/ContactModal.vue +++ b/frontend/src/components/Modals/ContactModal.vue @@ -40,10 +40,10 @@