blob: 7ce8b0913c37247e1c98c8cef88d24c8c26dfd76 [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) => {
Maricac23797e2020-08-20 19:12:12 +053010 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) => {
Maricac23797e2020-08-20 19:12:12 +053065 const fields = [{
66 fieldtype: 'Link',
67 label: __('Select a Company'),
68 fieldname: 'company',
69 options: 'Company',
70 reqd: 1,
71 default: frappe.defaults.get_user_default("Company")
72 }];
73
74 frappe.prompt(fields, data => {
75 frappe.call({
76 method: "erpnext.crm.doctype.opportunity.opportunity.make_opportunity_from_communication",
77 args: {
78 communication: frm.doc.name,
79 company: data.company
80 },
81 freeze: true,
82 callback: (r) => {
83 if(r.message) {
84 frm.reload_doc();
85 frappe.show_alert({
86 message: __("Opportunity {0} created",
Rushabh Mehta2cd41bc2020-12-18 13:17:58 +053087 ['<a href="/app/opportunity/'+r.message+'">' + r.message + '</a>']),
Maricac23797e2020-08-20 19:12:12 +053088 indicator: 'green'
89 });
90 }
mbauskarf54b1042017-03-13 16:32:46 +053091 }
Maricac23797e2020-08-20 19:12:12 +053092 });
93 },
94 'Create an Opportunity',
95 'Create');
mbauskarf54b1042017-03-13 16:32:46 +053096 }
Maricac23797e2020-08-20 19:12:12 +053097});