From ea4aa04cc485dac2b24119b8295e3569bab512b5 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 28 May 2014 12:56:28 +0530 Subject: [PATCH] Search query for account cleanup --- .../accounts_payable/accounts_payable.js | 2 +- .../accounts_receivable.js | 2 +- .../bank_clearance_summary.js | 2 +- .../bank_reconciliation_statement.js | 2 +- .../item_wise_purchase_register.js | 2 +- .../item_wise_sales_register.js | 2 +- .../payment_period_based_on_invoice_date.js | 2 +- .../purchase_register/purchase_register.js | 2 +- .../report/sales_register/sales_register.js | 2 +- erpnext/accounts/utils.py | 24 ------------------- erpnext/controllers/queries.py | 12 ++++++++++ 11 files changed, 21 insertions(+), 33 deletions(-) diff --git a/erpnext/accounts/report/accounts_payable/accounts_payable.js b/erpnext/accounts/report/accounts_payable/accounts_payable.js index 09fbd3ef28..300c2285e7 100644 --- a/erpnext/accounts/report/accounts_payable/accounts_payable.js +++ b/erpnext/accounts/report/accounts_payable/accounts_payable.js @@ -18,7 +18,7 @@ frappe.query_reports["Accounts Payable"] = { "get_query": function() { var company = frappe.query_report.filters_by_name.company.get_value(); return { - "query": "erpnext.accounts.utils.get_account_list", + "query": "erpnext.controllers.queries.get_account_list", "filters": { "report_type": "Balance Sheet", "company": company, diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.js b/erpnext/accounts/report/accounts_receivable/accounts_receivable.js index 1cf0941e0f..304c21bebb 100644 --- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.js +++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.js @@ -18,7 +18,7 @@ frappe.query_reports["Accounts Receivable"] = { "get_query": function() { var company = frappe.query_report.filters_by_name.company.get_value(); return { - "query": "erpnext.accounts.utils.get_account_list", + "query": "erpnext.controllers.queries.get_account_list", "filters": { "report_type": "Balance Sheet", "company": company, diff --git a/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.js b/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.js index abeaba85e5..c28ba70a25 100644 --- a/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.js +++ b/erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.js @@ -23,7 +23,7 @@ frappe.query_reports["Bank Clearance Summary"] = { "options": "Account", "get_query": function() { return { - "query": "erpnext.accounts.utils.get_account_list", + "query": "erpnext.controllers.queries.get_account_list", "filters": [ ['Account', 'account_type', 'in', 'Bank, Cash'], ['Account', 'group_or_ledger', '=', 'Ledger'], diff --git a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.js b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.js index 4bdcd9e0c7..adc9ca2500 100644 --- a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.js +++ b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.js @@ -11,7 +11,7 @@ frappe.query_reports["Bank Reconciliation Statement"] = { "reqd": 1, "get_query": function() { return { - "query": "erpnext.accounts.utils.get_account_list", + "query": "erpnext.controllers.queries.get_account_list", "filters": [ ['Account', 'account_type', 'in', 'Bank, Cash'], ['Account', 'group_or_ledger', '=', 'Ledger'], diff --git a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.js b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.js index 402f894d3f..13c0edc0a7 100644 --- a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.js +++ b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.js @@ -30,7 +30,7 @@ frappe.query_reports["Item-wise Purchase Register"] = { "get_query": function() { var company = frappe.query_report.filters_by_name.company.get_value(); return { - "query": "erpnext.accounts.utils.get_account_list", + "query": "erpnext.controllers.queries.get_account_list", "filters": { "report_type": "Balance Sheet", "company": company, diff --git a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.js b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.js index 3264da7155..79b1785dec 100644 --- a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.js +++ b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.js @@ -24,7 +24,7 @@ frappe.query_reports["Item-wise Sales Register"] = frappe.query_reports["Sales R "get_query": function() { var company = frappe.query_report.filters_by_name.company.get_value(); return { - "query": "erpnext.accounts.utils.get_account_list", + "query": "erpnext.controllers.queries.get_account_list", "filters": { "report_type": "Balance Sheet", "company": company, diff --git a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.js b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.js index b0833b54a7..bff3f70a34 100644 --- a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.js +++ b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.js @@ -29,7 +29,7 @@ frappe.query_reports["Payment Period Based On Invoice Date"] = { options: "Account", get_query: function() { return { - query: "erpnext.accounts.utils.get_account_list", + query: "erpnext.controllers.queries.get_account_list", filters: { "report_type": "Balance Sheet", company: frappe.query_report.filters_by_name.company.get_value() diff --git a/erpnext/accounts/report/purchase_register/purchase_register.js b/erpnext/accounts/report/purchase_register/purchase_register.js index 7e999dee70..a1a41a5ee0 100644 --- a/erpnext/accounts/report/purchase_register/purchase_register.js +++ b/erpnext/accounts/report/purchase_register/purchase_register.js @@ -24,7 +24,7 @@ frappe.query_reports["Purchase Register"] = { "get_query": function() { var company = frappe.query_report.filters_by_name.company.get_value(); return { - "query": "erpnext.accounts.utils.get_account_list", + "query": "erpnext.controllers.queries.get_account_list", "filters": { "report_type": "Balance Sheet", "company": company, diff --git a/erpnext/accounts/report/sales_register/sales_register.js b/erpnext/accounts/report/sales_register/sales_register.js index 0cc48a6489..ac30562fd7 100644 --- a/erpnext/accounts/report/sales_register/sales_register.js +++ b/erpnext/accounts/report/sales_register/sales_register.js @@ -24,7 +24,7 @@ frappe.query_reports["Sales Register"] = { "get_query": function() { var company = frappe.query_report.filters_by_name.company.get_value(); return { - "query": "erpnext.accounts.utils.get_account_list", + "query": "erpnext.controllers.queries.get_account_list", "filters": { "report_type": "Balance Sheet", "company": company, diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py index 75825fcb7e..160514bfe5 100644 --- a/erpnext/accounts/utils.py +++ b/erpnext/accounts/utils.py @@ -195,30 +195,6 @@ def update_against_doc(d, jv_obj): jv_obj.ignore_validate_update_after_submit = True jv_obj.save() -def get_account_list(doctype, txt, searchfield, start, page_len, filters): - filters = add_group_or_ledger_filter("Account", filters) - - 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): - filters = add_group_or_ledger_filter("Cost Center", 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) - -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` where `%s`=%s and docstatus < 2""" % (against_field, "%s"), (ref_no)) diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py index 5cc7f6448c..a30cde72a5 100644 --- a/erpnext/controllers/queries.py +++ b/erpnext/controllers/queries.py @@ -234,3 +234,15 @@ def get_batch_no(doctype, txt, searchfield, start, page_len, filters): 'posting_date': filters['posting_date'], 'txt': "%%%s%%" % txt, 'mcond':get_match_cond(doctype),'start': start, 'page_len': page_len}) + +def get_account_list(doctype, txt, searchfield, start, page_len, 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(["Account", "group_or_ledger", "=", "Ledger"]) + + return frappe.widgets.reportview.execute("Account", filters = filters, + fields = ["name", "parent_account"], + limit_start=start, limit_page_length=page_len, as_list=True)