diff --git a/crm/fcrm/doctype/crm_deal/api.py b/crm/fcrm/doctype/crm_deal/api.py
index 6da46106..a995e65a 100644
--- a/crm/fcrm/doctype/crm_deal/api.py
+++ b/crm/fcrm/doctype/crm_deal/api.py
@@ -22,7 +22,7 @@ def get_deal(name):
deal["contacts"] = frappe.get_all(
"CRM Contacts",
filters={"parenttype": "CRM Deal", "parent": deal.name},
- fields=["contact"],
+ fields=["contact", "is_primary"],
)
return deal
diff --git a/crm/fcrm/doctype/crm_deal/crm_deal.py b/crm/fcrm/doctype/crm_deal/crm_deal.py
index 927c8baa..c1f34b28 100644
--- a/crm/fcrm/doctype/crm_deal/crm_deal.py
+++ b/crm/fcrm/doctype/crm_deal/crm_deal.py
@@ -75,4 +75,14 @@ def remove_contact(deal, contact):
deal = frappe.get_cached_doc("CRM Deal", deal)
deal.contacts = [d for d in deal.contacts if d.contact != contact]
deal.save()
+ return True
+
+@frappe.whitelist()
+def set_primary_contact(deal, contact):
+ if not frappe.has_permission("CRM Deal", "write", deal):
+ frappe.throw(_("Not allowed to set primary contact for Deal"), frappe.PermissionError)
+
+ deal = frappe.get_cached_doc("CRM Deal", deal)
+ deal.set_primary_contact(contact)
+ deal.save()
return True
\ No newline at end of file
diff --git a/frontend/src/components/Icons/SuccessIcon.vue b/frontend/src/components/Icons/SuccessIcon.vue
new file mode 100644
index 00000000..831786e6
--- /dev/null
+++ b/frontend/src/components/Icons/SuccessIcon.vue
@@ -0,0 +1,16 @@
+
+
+
diff --git a/frontend/src/pages/Deal.vue b/frontend/src/pages/Deal.vue
index 9d309b5a..6202c46f 100644
--- a/frontend/src/pages/Deal.vue
+++ b/frontend/src/pages/Deal.vue
@@ -209,37 +209,6 @@
-