feat: ability to create quotation against a prospect
diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index f86dd8f..e606308 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -647,12 +647,12 @@
else:
args.update(get_party_details(party, party_type))
- if party_type in ("Customer", "Lead"):
+ if party_type in ("Customer", "Lead", "Prospect"):
args.update({"tax_type": "Sales"})
- if party_type == "Lead":
+ if party_type in ["Lead", "Prospect"]:
args["customer"] = None
- del args["lead"]
+ del args[frappe.scrub(party_type)]
else:
args.update({"tax_type": "Purchase"})
diff --git a/erpnext/public/js/utils/party.js b/erpnext/public/js/utils/party.js
index 644adff..5c41aa0 100644
--- a/erpnext/public/js/utils/party.js
+++ b/erpnext/public/js/utils/party.js
@@ -16,8 +16,8 @@
|| (frm.doc.party_name && in_list(['Quotation', 'Opportunity'], frm.doc.doctype))) {
let party_type = "Customer";
- if (frm.doc.quotation_to && frm.doc.quotation_to === "Lead") {
- party_type = "Lead";
+ if (frm.doc.quotation_to && in_list(["Lead", "Prospect"], frm.doc.quotation_to)) {
+ party_type = frm.doc.quotation_to;
}
args = {
diff --git a/erpnext/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js
index 83fa472..2d5c3fa 100644
--- a/erpnext/selling/doctype/quotation/quotation.js
+++ b/erpnext/selling/doctype/quotation/quotation.js
@@ -13,7 +13,7 @@
frm.set_query("quotation_to", function() {
return{
"filters": {
- "name": ["in", ["Customer", "Lead"]],
+ "name": ["in", ["Customer", "Lead", "Prospect"]],
}
}
});
@@ -160,19 +160,16 @@
}
set_dynamic_field_label(){
- if (this.frm.doc.quotation_to == "Customer")
- {
+ if (this.frm.doc.quotation_to == "Customer") {
this.frm.set_df_property("party_name", "label", "Customer");
this.frm.fields_dict.party_name.get_query = null;
- }
-
- if (this.frm.doc.quotation_to == "Lead")
- {
+ } else if (this.frm.doc.quotation_to == "Lead") {
this.frm.set_df_property("party_name", "label", "Lead");
-
this.frm.fields_dict.party_name.get_query = function() {
return{ query: "erpnext.controllers.queries.lead_query" }
}
+ } else if (this.frm.doc.quotation_to == "Prospect") {
+ this.frm.set_df_property("party_name", "label", "Prospect");
}
}