fix: Query fixes in quotation and opportunity (#17619)

* fix: Query fixes for contact person and minor fixes

* fix: Change quotation to quotation_to
This commit is contained in:
Deepesh Garg
2019-05-16 14:11:21 +05:30
committed by Nabin Hait
parent 8e9413829d
commit 21085bf2be
3 changed files with 1454 additions and 1448 deletions

View File

@@ -82,9 +82,9 @@ frappe.ui.form.on("Opportunity", {
set_contact_link: function(frm) {
if(frm.doc.opportunity_from == "Customer" && frm.doc.party_name) {
frappe.dynamic_link = {doc: frm.doc, fieldname: 'customer', doctype: 'Customer'}
frappe.dynamic_link = {doc: frm.doc, fieldname: 'party_name', doctype: 'Customer'}
} else if(frm.doc.opportunity_from == "Lead" && frm.doc.party_name) {
frappe.dynamic_link = {doc: frm.doc, fieldname: 'lead', doctype: 'Lead'}
frappe.dynamic_link = {doc: frm.doc, fieldname: 'party_name', doctype: 'Lead'}
}
},
@@ -138,12 +138,14 @@ erpnext.crm.Opportunity = frappe.ui.form.Controller.extend({
};
});
$.each([["lead", "lead"],
["customer", "customer"],
["contact_person", "contact_query"]],
function(i, opts) {
me.frm.set_query(opts[0], erpnext.queries[opts[1]]);
});
me.frm.set_query('contact_person', erpnext.queries['contact_query'])
if (me.frm.doc.opportunity_from == "Lead") {
me.frm.set_query('party_name', erpnext.queries['lead']);
}
else if (me.frm.doc.opportunity_from == "Cuatomer") {
me.frm.set_query('party_name', erpnext.queries['customer']);
}
},
create_quotation: function() {

View File

@@ -878,7 +878,7 @@
"collapsible": 1,
"collapsible_depends_on": "next_contact_by",
"columns": 0,
"depends_on": "eval:doc.lead || doc.customer",
"depends_on": "eval:doc.party_name",
"fetch_if_empty": 0,
"fieldname": "contact_info",
"fieldtype": "Section Break",
@@ -912,7 +912,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"depends_on": "eval:doc.customer || doc.lead",
"depends_on": "eval:doc.party_name",
"fetch_if_empty": 0,
"fieldname": "customer_address",
"fieldtype": "Link",
@@ -1083,7 +1083,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"depends_on": "eval:doc.lead || doc.customer",
"depends_on": "eval:doc.party_name",
"fetch_if_empty": 0,
"fieldname": "contact_person",
"fieldtype": "Link",
@@ -1150,7 +1150,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"depends_on": "eval:doc.lead || doc.customer",
"depends_on": "eval:doc.party_name",
"fetch_if_empty": 0,
"fieldname": "contact_email",
"fieldtype": "Data",
@@ -1183,7 +1183,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"depends_on": "eval:doc.lead || doc.customer",
"depends_on": "eval:doc.party_name",
"fetch_if_empty": 0,
"fieldname": "contact_mobile",
"fieldtype": "Small Text",

View File

@@ -47,6 +47,10 @@ erpnext.selling.QuotationController = erpnext.selling.SellingController.extend({
erpnext.utils.get_party_details(this.frm, null, null, function() {
me.apply_price_list();
});
if(me.frm.doc.quotation_to=="Lead") {
me.frm.trigger("get_lead_details");
}
},
refresh: function(doc, dt, dn) {
this._super(doc, dt, dn);
@@ -87,10 +91,10 @@ erpnext.selling.QuotationController = erpnext.selling.SellingController.extend({
this.frm.add_custom_button(__('Opportunity'),
function() {
var setters = {};
if(me.frm.doc.customer) {
setters.customer = me.frm.doc.customer || undefined;
} else if (me.frm.doc.lead) {
setters.lead = me.frm.doc.lead || undefined;
if(me.frm.doc.quotation_to == "Customer" && me.frm.doc.party_name) {
setters.customer = me.frm.doc.party_name || undefined;
} else if (me.frm.doc.quotation_to == "Lead" && me.frm.doc.party_name) {
setters.lead = me.frm.doc.party_name || undefined;
}
erpnext.utils.map_current_doc({
method: "erpnext.crm.doctype.opportunity.opportunity.make_quotation",
@@ -162,16 +166,16 @@ erpnext.selling.QuotationController = erpnext.selling.SellingController.extend({
}
},
lead: function() {
get_lead_details: function() {
var me = this;
if(!this.frm.doc.lead) {
if(!this.frm.doc.quotation_to === "Lead") {
return;
}
frappe.call({
method: "erpnext.crm.doctype.lead.lead.get_lead_details",
args: {
'lead': this.frm.doc.lead,
'lead': this.frm.doc.party_name,
'posting_date': this.frm.doc.transaction_date,
'company': this.frm.doc.company,
},