chore: Remove custom party queries
This commit is contained in:
@@ -54,9 +54,35 @@ class BuyingSettings(Document):
|
|||||||
hide_name_field=False,
|
hide_name_field=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set_search_fields("Supplier", "supplier_name", self.get("supp_master_name") == "Naming Series")
|
||||||
|
|
||||||
def before_save(self):
|
def before_save(self):
|
||||||
self.check_maintain_same_rate()
|
self.check_maintain_same_rate()
|
||||||
|
|
||||||
def check_maintain_same_rate(self):
|
def check_maintain_same_rate(self):
|
||||||
if self.maintain_same_rate:
|
if self.maintain_same_rate:
|
||||||
self.set_landed_cost_based_on_purchase_invoice_rate = 0
|
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,
|
||||||
|
)
|
||||||
|
|||||||
@@ -485,7 +485,7 @@
|
|||||||
"link_fieldname": "party"
|
"link_fieldname": "party"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"modified": "2023-10-19 16:55:15.148325",
|
"modified": "2024-03-13 11:14:06.516519",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Buying",
|
"module": "Buying",
|
||||||
"name": "Supplier",
|
"name": "Supplier",
|
||||||
@@ -544,7 +544,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"quick_entry": 1,
|
"quick_entry": 1,
|
||||||
"search_fields": "supplier_name, supplier_group",
|
"search_fields": "supplier_group",
|
||||||
"show_name_in_global_search": 1,
|
"show_name_in_global_search": 1,
|
||||||
"sort_field": "modified",
|
"sort_field": "modified",
|
||||||
"sort_order": "ASC",
|
"sort_order": "ASC",
|
||||||
|
|||||||
@@ -154,44 +154,6 @@ class TestSupplier(FrappeTestCase):
|
|||||||
# Rollback
|
# Rollback
|
||||||
address.delete()
|
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):
|
def create_supplier(**args):
|
||||||
args = frappe._dict(args)
|
args = frappe._dict(args)
|
||||||
|
|||||||
@@ -126,39 +126,6 @@ def customer_query(doctype, txt, searchfield, start, page_len, filters, as_dict=
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# 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.whitelist()
|
||||||
@frappe.validate_and_sanitize_search_inputs
|
@frappe.validate_and_sanitize_search_inputs
|
||||||
def tax_account_query(doctype, txt, searchfield, start, page_len, filters):
|
def tax_account_query(doctype, txt, searchfield, start, page_len, filters):
|
||||||
|
|||||||
@@ -37,12 +37,6 @@ class TestQueries(unittest.TestCase):
|
|||||||
self.assertGreaterEqual(len(query(txt="_Test Customer")), 7)
|
self.assertGreaterEqual(len(query(txt="_Test Customer")), 7)
|
||||||
self.assertGreaterEqual(len(query(txt="_Test Customer USD")), 1)
|
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):
|
def test_item_query(self):
|
||||||
query = add_default_params(queries.item_query, "Item")
|
query = add_default_params(queries.item_query, "Item")
|
||||||
|
|
||||||
|
|||||||
@@ -74,11 +74,6 @@ erpnext.buying = {
|
|||||||
me.frm.set_query('billing_address', erpnext.queries.company_address_query);
|
me.frm.set_query('billing_address', erpnext.queries.company_address_query);
|
||||||
erpnext.accounts.dimensions.setup_dimension_filters(me.frm, me.frm.doctype);
|
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() {
|
this.frm.set_query("item_code", "items", function() {
|
||||||
if (me.frm.doc.is_subcontracted) {
|
if (me.frm.doc.is_subcontracted) {
|
||||||
var filters = {'supplier': me.frm.doc.supplier};
|
var filters = {'supplier': me.frm.doc.supplier};
|
||||||
|
|||||||
@@ -16,10 +16,6 @@ $.extend(erpnext.queries, {
|
|||||||
return { query: "erpnext.controllers.queries.customer_query" };
|
return { query: "erpnext.controllers.queries.customer_query" };
|
||||||
},
|
},
|
||||||
|
|
||||||
supplier: function () {
|
|
||||||
return { query: "erpnext.controllers.queries.supplier_query" };
|
|
||||||
},
|
|
||||||
|
|
||||||
item: function (filters) {
|
item: function (filters) {
|
||||||
var args = { query: "erpnext.controllers.queries.item_query" };
|
var args = { query: "erpnext.controllers.queries.item_query" };
|
||||||
if (filters) args["filters"] = filters;
|
if (filters) args["filters"] = filters;
|
||||||
|
|||||||
@@ -410,10 +410,6 @@ $.extend(erpnext.item, {
|
|||||||
return { query: "erpnext.controllers.queries.customer_query" };
|
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 (
|
frm.fields_dict["item_defaults"].grid.get_field("default_warehouse").get_query = function (
|
||||||
doc,
|
doc,
|
||||||
cdt,
|
cdt,
|
||||||
|
|||||||
@@ -365,12 +365,6 @@ frappe.ui.form.on("Material Request", {
|
|||||||
description: __(
|
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."
|
"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) => {
|
(values) => {
|
||||||
frappe.model.open_mapped_doc({
|
frappe.model.open_mapped_doc({
|
||||||
|
|||||||
Reference in New Issue
Block a user