chore: Remove custom party queries
diff --git a/erpnext/buying/doctype/buying_settings/buying_settings.py b/erpnext/buying/doctype/buying_settings/buying_settings.py
index ec9b888..98935c1 100644
--- a/erpnext/buying/doctype/buying_settings/buying_settings.py
+++ b/erpnext/buying/doctype/buying_settings/buying_settings.py
@@ -54,9 +54,35 @@
hide_name_field=False,
)
+ set_search_fields("Supplier", "supplier_name", self.get("supp_master_name") == "Naming Series")
+
def before_save(self):
self.check_maintain_same_rate()
def check_maintain_same_rate(self):
if self.maintain_same_rate:
self.set_landed_cost_based_on_purchase_invoice_rate = 0
+
+
+def set_search_fields(doctype, fieldname, naming_series):
+ """Change a doctype's naming to user naming series"""
+ from frappe.custom.doctype.property_setter.property_setter import make_property_setter
+
+ searchfields = frappe.get_meta(doctype).get_search_fields()
+
+ if naming_series:
+ if fieldname not in searchfields:
+ searchfields.append(fieldname)
+ else:
+ if fieldname in searchfields:
+ searchfields.remove(fieldname)
+
+ make_property_setter(
+ doctype,
+ "",
+ "search_fields",
+ ", ".join(searchfields),
+ "Data",
+ for_doctype=True,
+ validate_fields_for_doctype=False,
+ )
diff --git a/erpnext/buying/doctype/supplier/supplier.json b/erpnext/buying/doctype/supplier/supplier.json
index 60dd54c..3dae044 100644
--- a/erpnext/buying/doctype/supplier/supplier.json
+++ b/erpnext/buying/doctype/supplier/supplier.json
@@ -485,7 +485,7 @@
"link_fieldname": "party"
}
],
- "modified": "2023-10-19 16:55:15.148325",
+ "modified": "2024-03-13 11:14:06.516519",
"modified_by": "Administrator",
"module": "Buying",
"name": "Supplier",
@@ -544,7 +544,7 @@
}
],
"quick_entry": 1,
- "search_fields": "supplier_name, supplier_group",
+ "search_fields": "supplier_group",
"show_name_in_global_search": 1,
"sort_field": "modified",
"sort_order": "ASC",
diff --git a/erpnext/buying/doctype/supplier/test_supplier.py b/erpnext/buying/doctype/supplier/test_supplier.py
index 350a25f..55974ea 100644
--- a/erpnext/buying/doctype/supplier/test_supplier.py
+++ b/erpnext/buying/doctype/supplier/test_supplier.py
@@ -154,44 +154,6 @@
# Rollback
address.delete()
- def test_serach_fields_for_supplier(self):
- from erpnext.controllers.queries import supplier_query
-
- frappe.db.set_single_value("Buying Settings", "supp_master_name", "Naming Series")
-
- supplier_name = create_supplier(supplier_name="Test Supplier 1").name
-
- make_property_setter(
- "Supplier", None, "search_fields", "supplier_group", "Data", for_doctype="Doctype"
- )
-
- data = supplier_query(
- "Supplier", supplier_name, "name", 0, 20, filters={"name": supplier_name}, as_dict=True
- )
-
- self.assertEqual(data[0].name, supplier_name)
- self.assertEqual(data[0].supplier_group, "Services")
- self.assertTrue("supplier_type" not in data[0])
-
- make_property_setter(
- "Supplier",
- None,
- "search_fields",
- "supplier_group, supplier_type",
- "Data",
- for_doctype="Doctype",
- )
- data = supplier_query(
- "Supplier", supplier_name, "name", 0, 20, filters={"name": supplier_name}, as_dict=True
- )
-
- self.assertEqual(data[0].name, supplier_name)
- self.assertEqual(data[0].supplier_group, "Services")
- self.assertEqual(data[0].supplier_type, "Company")
- self.assertTrue("supplier_type" in data[0])
-
- frappe.db.set_single_value("Buying Settings", "supp_master_name", "Supplier Name")
-
def create_supplier(**args):
args = frappe._dict(args)
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index 0d64188..129ca7a 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -126,39 +126,6 @@
)
-# searches for supplier
-@frappe.whitelist()
-@frappe.validate_and_sanitize_search_inputs
-def supplier_query(doctype, txt, searchfield, start, page_len, filters, as_dict=False):
- doctype = "Supplier"
- supp_master_name = frappe.defaults.get_user_default("supp_master_name")
-
- fields = ["name"]
- if supp_master_name != "Supplier Name":
- fields.append("supplier_name")
-
- fields = get_fields(doctype, fields)
-
- return frappe.db.sql(
- """select {field} from `tabSupplier`
- where docstatus < 2
- and ({key} like %(txt)s
- or supplier_name like %(txt)s) and disabled=0
- and (on_hold = 0 or (on_hold = 1 and CURRENT_DATE > release_date))
- {mcond}
- order by
- (case when locate(%(_txt)s, name) > 0 then locate(%(_txt)s, name) else 99999 end),
- (case when locate(%(_txt)s, supplier_name) > 0 then locate(%(_txt)s, supplier_name) else 99999 end),
- idx desc,
- name, supplier_name
- limit %(page_len)s offset %(start)s""".format(
- **{"field": ", ".join(fields), "key": searchfield, "mcond": get_match_cond(doctype)}
- ),
- {"txt": "%%%s%%" % txt, "_txt": txt.replace("%", ""), "start": start, "page_len": page_len},
- as_dict=as_dict,
- )
-
-
@frappe.whitelist()
@frappe.validate_and_sanitize_search_inputs
def tax_account_query(doctype, txt, searchfield, start, page_len, filters):
diff --git a/erpnext/controllers/tests/test_queries.py b/erpnext/controllers/tests/test_queries.py
index 3a3bc1c..0ec3bd6 100644
--- a/erpnext/controllers/tests/test_queries.py
+++ b/erpnext/controllers/tests/test_queries.py
@@ -37,12 +37,6 @@
self.assertGreaterEqual(len(query(txt="_Test Customer")), 7)
self.assertGreaterEqual(len(query(txt="_Test Customer USD")), 1)
- def test_supplier_query(self):
- query = add_default_params(queries.supplier_query, "Supplier")
-
- self.assertGreaterEqual(len(query(txt="_Test Supplier")), 7)
- self.assertGreaterEqual(len(query(txt="_Test Supplier USD")), 1)
-
def test_item_query(self):
query = add_default_params(queries.item_query, "Item")
diff --git a/erpnext/public/js/controllers/buying.js b/erpnext/public/js/controllers/buying.js
index 1d0d47e..934becf 100644
--- a/erpnext/public/js/controllers/buying.js
+++ b/erpnext/public/js/controllers/buying.js
@@ -74,11 +74,6 @@
me.frm.set_query('billing_address', erpnext.queries.company_address_query);
erpnext.accounts.dimensions.setup_dimension_filters(me.frm, me.frm.doctype);
- if(this.frm.fields_dict.supplier) {
- this.frm.set_query("supplier", function() {
- return{ query: "erpnext.controllers.queries.supplier_query" }});
- }
-
this.frm.set_query("item_code", "items", function() {
if (me.frm.doc.is_subcontracted) {
var filters = {'supplier': me.frm.doc.supplier};
diff --git a/erpnext/public/js/queries.js b/erpnext/public/js/queries.js
index b7e685c..e20ea7b 100644
--- a/erpnext/public/js/queries.js
+++ b/erpnext/public/js/queries.js
@@ -16,10 +16,6 @@
return { query: "erpnext.controllers.queries.customer_query" };
},
- supplier: function () {
- return { query: "erpnext.controllers.queries.supplier_query" };
- },
-
item: function (filters) {
var args = { query: "erpnext.controllers.queries.item_query" };
if (filters) args["filters"] = filters;
diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js
index 7a38024..93a2939 100644
--- a/erpnext/stock/doctype/item/item.js
+++ b/erpnext/stock/doctype/item/item.js
@@ -410,10 +410,6 @@
return { query: "erpnext.controllers.queries.customer_query" };
};
- frm.fields_dict.supplier_items.grid.get_field("supplier").get_query = function (doc, cdt, cdn) {
- return { query: "erpnext.controllers.queries.supplier_query" };
- };
-
frm.fields_dict["item_defaults"].grid.get_field("default_warehouse").get_query = function (
doc,
cdt,
diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js
index f04acc8..0b77465 100644
--- a/erpnext/stock/doctype/material_request/material_request.js
+++ b/erpnext/stock/doctype/material_request/material_request.js
@@ -365,12 +365,6 @@
description: __(
"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only."
),
- get_query: () => {
- return {
- query: "erpnext.stock.doctype.material_request.material_request.get_default_supplier_query",
- filters: { doc: frm.doc.name },
- };
- },
},
(values) => {
frappe.model.open_mapped_doc({