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):