diff --git a/accounts/doctype/account/account.js b/accounts/doctype/account/account.js index 14e35d3094c..77386823e43 100644 --- a/accounts/doctype/account/account.js +++ b/accounts/doctype/account/account.js @@ -116,19 +116,18 @@ cur_frm.cscript.convert_to_group = function(doc, cdt, cdn) { }); } -// Master name get query -// ----------------------------------------- -cur_frm.fields_dict['master_name'].get_query=function(doc){ - if (doc.master_type){ - return 'SELECT `tab'+doc.master_type+'`.name FROM `tab'+doc.master_type+'` WHERE `tab'+doc.master_type+'`.name LIKE "%s" and `tab'+doc.master_type+'`.docstatus != 2 ORDER BY `tab'+doc.master_type+'`.name LIMIT 50'; - } +cur_frm.fields_dict['master_name'].get_query = function(doc) { + if (doc.master_type) { + return { + query: "accounts.doctype.account.account.get_master_name", + args: { "master_type": doc.master_type } + } + } } -// parent account get query -// ----------------------------------------- -cur_frm.fields_dict['parent_account'].get_query = function(doc){ - return 'SELECT DISTINCT `tabAccount`.name FROM `tabAccount` WHERE \ - `tabAccount`.group_or_ledger="Group" AND `tabAccount`.docstatus != 2 AND \ - `tabAccount`.company="'+ doc.company+'" AND `tabAccount`.company is not NULL AND \ - `tabAccount`.name LIKE "%s" ORDER BY `tabAccount`.name LIMIT 50'; +cur_frm.fields_dict['parent_account'].get_query = function(doc) { + return { + query: "accounts.doctype.account.account.get_parent_account", + args: { "company": doc.company} + } } diff --git a/accounts/doctype/account/account.py b/accounts/doctype/account/account.py index 04e13d8efe6..57ab1917567 100644 --- a/accounts/doctype/account/account.py +++ b/accounts/doctype/account/account.py @@ -200,4 +200,13 @@ class DocType: sql("update `tabAccount` set account_name = '%s' where name = '%s'" % \ (account_name, old)) - return " - ".join(parts) \ No newline at end of file + return " - ".join(parts) + +def get_master_name(doctype, txt, searchfield, start, page_len, args): + return webnotes.conn.sql("""select name from `tab%s` where name like '%%%s%%'""" % + (args["master_type"], txt), as_list=1) + +def get_parent_account(doctype, txt, searchfield, start, page_len, args): + return webnotes.conn.sql("""select name from tabAccount + where group_or_ledger = 'Group' and docstatus != 2 and company = '%s' + and name like '%%%s%%'""" % (args["company"], txt)) \ No newline at end of file diff --git a/stock/utils.py b/stock/utils.py index 87f4c02ad1d..3b98cf0683f 100644 --- a/stock/utils.py +++ b/stock/utils.py @@ -148,7 +148,7 @@ def get_valid_serial_nos(sr_nos, qty=0, item_code=''): return valid_serial_nos -def get_warehouse_list(doctype, txt, searchfield, start, page_len): +def get_warehouse_list(doctype, txt, searchfield, start, page_len, args): """used in search queries""" wlist = [] for w in webnotes.conn.sql_list("""select name from tabWarehouse