fix: Unable to search project by project name in Sales Invoice (#28648)
This commit is contained in:
@@ -517,15 +517,6 @@ cur_frm.fields_dict.write_off_cost_center.get_query = function(doc) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// project name
|
|
||||||
//--------------------------
|
|
||||||
cur_frm.fields_dict['project'].get_query = function(doc, cdt, cdn) {
|
|
||||||
return{
|
|
||||||
query: "erpnext.controllers.queries.get_project_name",
|
|
||||||
filters: {'customer': doc.customer}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Income Account in Details Table
|
// Income Account in Details Table
|
||||||
// --------------------------------
|
// --------------------------------
|
||||||
cur_frm.set_query("income_account", "items", function(doc) {
|
cur_frm.set_query("income_account", "items", function(doc) {
|
||||||
|
|||||||
@@ -539,6 +539,10 @@ def get_filtered_dimensions(doctype, txt, searchfield, start, page_len, filters)
|
|||||||
dimension_filters = get_dimension_filter_map()
|
dimension_filters = get_dimension_filter_map()
|
||||||
dimension_filters = dimension_filters.get((filters.get('dimension'),filters.get('account')))
|
dimension_filters = dimension_filters.get((filters.get('dimension'),filters.get('account')))
|
||||||
query_filters = []
|
query_filters = []
|
||||||
|
or_filters = []
|
||||||
|
fields = ['name']
|
||||||
|
|
||||||
|
searchfields = frappe.get_meta(doctype).get_search_fields()
|
||||||
|
|
||||||
meta = frappe.get_meta(doctype)
|
meta = frappe.get_meta(doctype)
|
||||||
if meta.is_tree:
|
if meta.is_tree:
|
||||||
@@ -550,8 +554,9 @@ def get_filtered_dimensions(doctype, txt, searchfield, start, page_len, filters)
|
|||||||
if meta.has_field('company'):
|
if meta.has_field('company'):
|
||||||
query_filters.append(['company', '=', filters.get('company')])
|
query_filters.append(['company', '=', filters.get('company')])
|
||||||
|
|
||||||
if txt:
|
for field in searchfields:
|
||||||
query_filters.append([searchfield, 'LIKE', "%%%s%%" % txt])
|
or_filters.append([field, 'LIKE', "%%%s%%" % txt])
|
||||||
|
fields.append(field)
|
||||||
|
|
||||||
if dimension_filters:
|
if dimension_filters:
|
||||||
if dimension_filters['allow_or_restrict'] == 'Allow':
|
if dimension_filters['allow_or_restrict'] == 'Allow':
|
||||||
@@ -566,10 +571,9 @@ def get_filtered_dimensions(doctype, txt, searchfield, start, page_len, filters)
|
|||||||
|
|
||||||
query_filters.append(['name', query_selector, dimensions])
|
query_filters.append(['name', query_selector, dimensions])
|
||||||
|
|
||||||
output = frappe.get_list(doctype, filters=query_filters)
|
output = frappe.get_list(doctype, fields=fields, filters=query_filters, or_filters=or_filters, as_list=1)
|
||||||
result = [d.name for d in output]
|
|
||||||
|
|
||||||
return [(d,) for d in set(result)]
|
return [tuple(d) for d in set(output)]
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
@frappe.validate_and_sanitize_search_inputs
|
@frappe.validate_and_sanitize_search_inputs
|
||||||
|
|||||||
Reference in New Issue
Block a user