use build_filter_conditions from db_query. Fixes #1679
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index 1a09d38..75825fc 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -7,8 +7,7 @@
 from frappe.utils import nowdate, cstr, flt, now, getdate, add_months
 from frappe import throw, _
 from frappe.utils import formatdate
-from erpnext.utilities import build_filter_conditions
-
+import frappe.widgets.reportview
 
 class FiscalYearError(frappe.ValidationError): pass
 class BudgetError(frappe.ValidationError): pass
@@ -197,26 +196,28 @@
 	jv_obj.save()
 
 def get_account_list(doctype, txt, searchfield, start, page_len, filters):
-	if not filters.get("group_or_ledger"):
-		filters["group_or_ledger"] = "Ledger"
+	filters = add_group_or_ledger_filter("Account", filters)
 
-	conditions, filter_values = build_filter_conditions(filters)
-
-	return frappe.db.sql("""select name, parent_account from `tabAccount`
-		where docstatus < 2 %s and %s like %s order by name limit %s, %s""" %
-		(conditions, searchfield, "%s", "%s", "%s"),
-		tuple(filter_values + ["%%%s%%" % txt, start, page_len]))
+	return frappe.widgets.reportview.execute("Account", filters = filters,
+		fields = ["name", "parent_account"],
+		limit_start=start, limit_page_length=page_len, as_list=True)
 
 def get_cost_center_list(doctype, txt, searchfield, start, page_len, filters):
-	if not filters.get("group_or_ledger"):
-		filters["group_or_ledger"] = "Ledger"
+	filters = add_group_or_ledger_filter("Cost Center", filters)
 
-	conditions, filter_values = build_filter_conditions(filters)
+	return frappe.widgets.reportview.execute("Cost Center", filters = filters,
+		fields = ["name", "parent_cost_center"],
+		limit_start=start, limit_page_length=page_len, as_list=True)
 
-	return frappe.db.sql("""select name, parent_cost_center from `tabCost Center`
-		where docstatus < 2 %s and %s like %s order by name limit %s, %s""" %
-		(conditions, searchfield, "%s", "%s", "%s"),
-		tuple(filter_values + ["%%%s%%" % txt, start, page_len]))
+def add_group_or_ledger_filter(doctype, filters):
+	if isinstance(filters, dict):
+		if not filters.get("group_or_ledger"):
+			filters["group_or_ledger"] = "Ledger"
+	elif isinstance(filters, list):
+		if "group_or_ledger" not in [d[0] for d in filters]:
+			filters.append([doctype, "group_or_ledger", "=", "Ledger"])
+
+	return filters
 
 def remove_against_link_from_jv(ref_type, ref_no, against_field):
 	linked_jv = frappe.db.sql_list("""select parent from `tabJournal Voucher Detail`