blob: 9432d421752f76bbaad83be906b5bb33ab0529b6 [file] [log] [blame]
mbauskarf54b1042017-03-13 16:32:46 +05301frappe.ui.form.on("Communication", {
Makarand Bauskarf23788b2017-10-05 14:19:45 +05302 refresh: (frm) => {
3 // setup custom Make button only if Communication is Email
4 if(frm.doc.communication_medium == "Email" && frm.doc.sent_or_received == "Received") {
5 frm.events.setup_custom_buttons(frm);
6 }
7 },
8
9 setup_custom_buttons: (frm) => {
10 let confirm_msg = "Are you sure you want to create {0} from this email";
mbauskarf54b1042017-03-13 16:32:46 +053011 if(frm.doc.reference_doctype !== "Issue") {
Makarand Bauskarf23788b2017-10-05 14:19:45 +053012 frm.add_custom_button(__("Issue"), () => {
13 frappe.confirm(__(confirm_msg, [__("Issue")]), () => {
mbauskarf54b1042017-03-13 16:32:46 +053014 frm.trigger('make_issue_from_communication');
15 })
marinationa07973c2020-08-10 12:39:42 +053016 }, "Create");
mbauskarf54b1042017-03-13 16:32:46 +053017 }
18
Faris Ansariab74ca72017-05-30 12:54:42 +053019 if(!in_list(["Lead", "Opportunity"], frm.doc.reference_doctype)) {
Makarand Bauskarf23788b2017-10-05 14:19:45 +053020 frm.add_custom_button(__("Lead"), () => {
21 frappe.confirm(__(confirm_msg, [__("Lead")]), () => {
Rushabh Mehtab5a3df92018-01-23 16:08:52 +053022 frm.trigger('make_lead_from_communication');
mbauskarf54b1042017-03-13 16:32:46 +053023 })
Suraj Shettyb2965002018-12-23 13:25:58 +053024 }, __('Create'));
mbauskarf54b1042017-03-13 16:32:46 +053025
Makarand Bauskarf23788b2017-10-05 14:19:45 +053026 frm.add_custom_button(__("Opportunity"), () => {
27 frappe.confirm(__(confirm_msg, [__("Opportunity")]), () => {
mbauskarf54b1042017-03-13 16:32:46 +053028 frm.trigger('make_opportunity_from_communication');
29 })
Suraj Shettyb2965002018-12-23 13:25:58 +053030 }, __('Create'));
mbauskarf54b1042017-03-13 16:32:46 +053031 }
mbauskarf54b1042017-03-13 16:32:46 +053032 },
33
Makarand Bauskarf23788b2017-10-05 14:19:45 +053034 make_lead_from_communication: (frm) => {
mbauskarf54b1042017-03-13 16:32:46 +053035 return frappe.call({
Rohit Waghchaure270d4e92019-04-19 11:20:41 +053036 method: "erpnext.crm.doctype.lead.lead.make_lead_from_communication",
mbauskarf54b1042017-03-13 16:32:46 +053037 args: {
38 communication: frm.doc.name
39 },
40 freeze: true,
Makarand Bauskarf23788b2017-10-05 14:19:45 +053041 callback: (r) => {
mbauskarf54b1042017-03-13 16:32:46 +053042 if(r.message) {
43 frm.reload_doc()
44 }
45 }
46 })
47 },
48
Makarand Bauskarf23788b2017-10-05 14:19:45 +053049 make_issue_from_communication: (frm) => {
mbauskarf54b1042017-03-13 16:32:46 +053050 return frappe.call({
Rohit Waghchaure270d4e92019-04-19 11:20:41 +053051 method: "erpnext.support.doctype.issue.issue.make_issue_from_communication",
mbauskarf54b1042017-03-13 16:32:46 +053052 args: {
53 communication: frm.doc.name
54 },
55 freeze: true,
Makarand Bauskarf23788b2017-10-05 14:19:45 +053056 callback: (r) => {
mbauskarf54b1042017-03-13 16:32:46 +053057 if(r.message) {
58 frm.reload_doc()
59 }
60 }
61 })
62 },
63
Makarand Bauskarf23788b2017-10-05 14:19:45 +053064 make_opportunity_from_communication: (frm) => {
mbauskarf54b1042017-03-13 16:32:46 +053065 return frappe.call({
Rohit Waghchaure270d4e92019-04-19 11:20:41 +053066 method: "erpnext.crm.doctype.opportunity.opportunity.make_opportunity_from_communication",
mbauskarf54b1042017-03-13 16:32:46 +053067 args: {
68 communication: frm.doc.name
69 },
70 freeze: true,
Makarand Bauskarf23788b2017-10-05 14:19:45 +053071 callback: (r) => {
mbauskarf54b1042017-03-13 16:32:46 +053072 if(r.message) {
73 frm.reload_doc()
74 }
75 }
76 })
77 }
78});