Merge pull request #20478 from deepeshgarg007/finance-book-filter-new
fix: Do not show any finance book record if no finance book filter is applied
diff --git a/erpnext/accounts/report/cash_flow/cash_flow.py b/erpnext/accounts/report/cash_flow/cash_flow.py
index 0b12477..e349a6a 100644
--- a/erpnext/accounts/report/cash_flow/cash_flow.py
+++ b/erpnext/accounts/report/cash_flow/cash_flow.py
@@ -4,7 +4,7 @@
from __future__ import unicode_literals
import frappe
from frappe import _
-from frappe.utils import cint
+from frappe.utils import cint, cstr
from erpnext.accounts.report.financial_statements import (get_period_list, get_columns, get_data)
from erpnext.accounts.report.profit_and_loss_statement.profit_and_loss_statement import get_net_profit_loss
from erpnext.accounts.utils import get_fiscal_year
@@ -129,13 +129,13 @@
cond = ""
filters = frappe._dict(filters)
- if filters.finance_book:
- cond = " AND (finance_book in (%s, '') OR finance_book IS NULL)" %(frappe.db.escape(filters.finance_book))
- if filters.include_default_book_entries:
- company_fb = frappe.db.get_value("Company", company, 'default_finance_book')
+ if filters.include_default_book_entries:
+ company_fb = frappe.db.get_value("Company", company, 'default_finance_book')
+ cond = """ AND (finance_book in (%s, %s, '') OR finance_book IS NULL)
+ """ %(frappe.db.escape(filters.finance_book), frappe.db.escape(company_fb))
+ else:
+ cond = " AND (finance_book in (%s, '') OR finance_book IS NULL)" %(frappe.db.escape(cstr(filters.finance_book)))
- cond = """ AND (finance_book in (%s, %s, '') OR finance_book IS NULL)
- """ %(frappe.db.escape(filters.finance_book), frappe.db.escape(company_fb))
gl_sum = frappe.db.sql_list("""
select sum(credit) - sum(debit)
diff --git a/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py b/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py
index e9eb819..4a79b6a 100644
--- a/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py
+++ b/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py
@@ -387,11 +387,10 @@
if from_date:
additional_conditions.append("gl.posting_date >= %(from_date)s")
- if filters.get("finance_book"):
- if filters.get("include_default_book_entries"):
- additional_conditions.append("(finance_book in (%(finance_book)s, %(company_fb)s, '') OR finance_book IS NULL)")
- else:
- additional_conditions.append("(finance_book in (%(finance_book)s, '') OR finance_book IS NULL)")
+ if filters.get("include_default_book_entries"):
+ additional_conditions.append("(finance_book in (%(finance_book)s, %(company_fb)s, '') OR finance_book IS NULL)")
+ else:
+ additional_conditions.append("(finance_book in (%(finance_book)s, '') OR finance_book IS NULL)")
return " and {}".format(" and ".join(additional_conditions)) if additional_conditions else ""
diff --git a/erpnext/accounts/report/financial_statements.py b/erpnext/accounts/report/financial_statements.py
index a885171..30c012e 100644
--- a/erpnext/accounts/report/financial_statements.py
+++ b/erpnext/accounts/report/financial_statements.py
@@ -13,7 +13,7 @@
from erpnext.accounts.report.utils import get_currency, convert_to_presentation_currency
from erpnext.accounts.utils import get_fiscal_year
from frappe import _
-from frappe.utils import (flt, getdate, get_first_day, add_months, add_days, formatdate)
+from frappe.utils import (flt, getdate, get_first_day, add_months, add_days, formatdate, cstr)
from six import itervalues
from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions
@@ -356,7 +356,7 @@
"company": company,
"from_date": from_date,
"to_date": to_date,
- "finance_book": filters.get("finance_book")
+ "finance_book": cstr(filters.get("finance_book"))
}
if filters.get("include_default_book_entries"):
@@ -406,12 +406,11 @@
filters.cost_center = get_cost_centers_with_children(filters.cost_center)
additional_conditions.append("cost_center in %(cost_center)s")
- if filters.get("finance_book"):
- if filters.get("include_default_book_entries"):
- additional_conditions.append("(finance_book in (%(finance_book)s, %(company_fb)s, '') OR finance_book IS NULL)")
- else:
- additional_conditions.append("(finance_book in (%(finance_book)s, '') OR finance_book IS NULL)")
-
+ if filters.get("include_default_book_entries"):
+ additional_conditions.append("(finance_book in (%(finance_book)s, %(company_fb)s, '') OR finance_book IS NULL)")
+ else:
+ additional_conditions.append("(finance_book in (%(finance_book)s, '') OR finance_book IS NULL)")
+
if accounting_dimensions:
for dimension in accounting_dimensions:
if filters.get(dimension):