fix: Add search field in project query

This commit is contained in:
Deepesh Garg 2021-02-25 14:01:22 +05:30
parent c532b99a4c
commit b990e71b4c

View File

@ -217,13 +217,20 @@ def check_if_child_exists(name):
@frappe.validate_and_sanitize_search_inputs @frappe.validate_and_sanitize_search_inputs
def get_project(doctype, txt, searchfield, start, page_len, filters): def get_project(doctype, txt, searchfield, start, page_len, filters):
from erpnext.controllers.queries import get_match_cond from erpnext.controllers.queries import get_match_cond
return frappe.db.sql(""" select name from `tabProject` meta = frappe.get_meta(doctype)
searchfields = meta.get_search_fields()
search_columns = ", " + ", ".join(searchfields) if searchfields else ''
search_cond = " or " + " or ".join([field + " like %(txt)s" for field in searchfields])
return frappe.db.sql(""" select name {search_columns} from `tabProject`
where %(key)s like %(txt)s where %(key)s like %(txt)s
%(mcond)s %(mcond)s
{search_condition}
order by name order by name
limit %(start)s, %(page_len)s""" % { limit %(start)s, %(page_len)s""".format(search_columns = search_columns,
search_condition=search_cond), {
'key': searchfield, 'key': searchfield,
'txt': frappe.db.escape('%' + txt + '%'), 'txt': '%' + txt + '%',
'mcond':get_match_cond(doctype), 'mcond':get_match_cond(doctype),
'start': start, 'start': start,
'page_len': page_len 'page_len': page_len