2015-03-03 09:25:30 +00:00
|
|
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
2013-08-05 09:29:54 +00:00
|
|
|
# License: GNU General Public License v3. See license.txt
|
|
|
|
|
2013-02-28 13:12:46 +00:00
|
|
|
# For license information, please see license.txt
|
|
|
|
|
|
|
|
from __future__ import unicode_literals
|
2014-02-14 10:17:51 +00:00
|
|
|
import frappe
|
2013-02-28 13:12:46 +00:00
|
|
|
|
2014-02-14 10:17:51 +00:00
|
|
|
@frappe.whitelist()
|
2020-08-05 14:12:25 +00:00
|
|
|
@frappe.validate_and_sanitize_search_inputs
|
2013-05-09 14:04:34 +00:00
|
|
|
def query_task(doctype, txt, searchfield, start, page_len, filters):
|
2014-09-09 10:45:35 +00:00
|
|
|
from frappe.desk.reportview import build_match_conditions
|
2015-11-17 12:57:50 +00:00
|
|
|
|
2013-05-09 14:04:34 +00:00
|
|
|
search_string = "%%%s%%" % txt
|
|
|
|
order_by_string = "%s%%" % txt
|
2013-05-13 09:45:20 +00:00
|
|
|
match_conditions = build_match_conditions("Task")
|
|
|
|
match_conditions = ("and" + match_conditions) if match_conditions else ""
|
2015-11-17 12:57:50 +00:00
|
|
|
|
2014-02-26 07:05:33 +00:00
|
|
|
return frappe.db.sql("""select name, subject from `tabTask`
|
2013-05-13 09:45:20 +00:00
|
|
|
where (`%s` like %s or `subject` like %s) %s
|
2013-05-09 14:04:34 +00:00
|
|
|
order by
|
|
|
|
case when `subject` like %s then 0 else 1 end,
|
|
|
|
case when `%s` like %s then 0 else 1 end,
|
|
|
|
`%s`,
|
|
|
|
subject
|
2015-11-17 12:57:50 +00:00
|
|
|
limit %s, %s""" %
|
2018-09-21 04:50:52 +00:00
|
|
|
(searchfield, "%s", "%s", match_conditions, "%s",
|
|
|
|
searchfield, "%s", searchfield, "%s", "%s"),
|
2015-11-17 12:57:50 +00:00
|
|
|
(search_string, search_string, order_by_string, order_by_string, start, page_len))
|