diff --git a/erpnext/crm/doctype/lead/lead.js b/erpnext/crm/doctype/lead/lead.js index 8df7dab6f7d..f5ee366d2f4 100644 --- a/erpnext/crm/doctype/lead/lead.js +++ b/erpnext/crm/doctype/lead/lead.js @@ -6,6 +6,18 @@ cur_frm.email_field = "email_id"; erpnext.LeadController = frappe.ui.form.Controller.extend({ setup: function () { + + this.frm.make_methods = { + 'Quotation': () => erpnext.utils.create_new_doc('Quotation', { + 'quotation_to': this.frm.doc.doctype, + 'party_name': this.frm.doc.name + }), + 'Opportunity': () => erpnext.utils.create_new_doc('Opportunity', { + 'opportunity_from': this.frm.doc.doctype, + 'party_name': this.frm.doc.name + }) + } + this.frm.fields_dict.customer.get_query = function (doc, cdt, cdn) { return { query: "erpnext.controllers.queries.customer_query" } } diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js index 389e25ece10..2dd65fec170 100755 --- a/erpnext/public/js/utils.js +++ b/erpnext/public/js/utils.js @@ -286,6 +286,16 @@ $.extend(erpnext.utils, { refresh_field(table_fieldname); }, + create_new_doc: function (doctype, update_fields) { + frappe.model.with_doctype(doctype, function() { + var new_doc = frappe.model.get_new_doc(doctype); + for (let [key, value] of Object.entries(update_fields)) { + new_doc[key] = value; + } + frappe.ui.form.make_quick_entry(doctype, null, null, new_doc); + }); + } + }); erpnext.utils.select_alternate_items = function(opts) { diff --git a/erpnext/selling/doctype/customer/customer.js b/erpnext/selling/doctype/customer/customer.js index 8d590a0c9d0..0ce521261ef 100644 --- a/erpnext/selling/doctype/customer/customer.js +++ b/erpnext/selling/doctype/customer/customer.js @@ -3,6 +3,18 @@ frappe.ui.form.on("Customer", { setup: function(frm) { + + frm.make_methods = { + 'Quotation': () => erpnext.utils.create_new_doc('Quotation', { + 'quotation_to': frm.doc.doctype, + 'party_name': frm.doc.name + }), + 'Opportunity': () => erpnext.utils.create_new_doc('Opportunity', { + 'opportunity_from': frm.doc.doctype, + 'party_name': frm.doc.name + }) + } + frm.add_fetch('lead_name', 'company_name', 'customer_name'); frm.add_fetch('default_sales_partner','commission_rate','default_commission_rate'); frm.set_query('customer_group', {'is_group': 0});