feat: skip disabled accounts in COA (#38551)
* feat: skip disabled accounts in coa
* fix: add parameter to other tree doctype utils
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index adec0ab..f9208f0 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -1116,12 +1116,16 @@
@frappe.whitelist()
-def get_children(doctype, parent, company, is_root=False):
+def get_children(doctype, parent, company, is_root=False, include_disabled=False):
+ if isinstance(include_disabled, str):
+ include_disabled = frappe.json.loads(include_disabled)
from erpnext.accounts.report.financial_statements import sort_accounts
parent_fieldname = "parent_" + doctype.lower().replace(" ", "_")
fields = ["name as value", "is_group as expandable"]
filters = [["docstatus", "<", 2]]
+ if frappe.db.has_column(doctype, "disabled") and not include_disabled:
+ filters.append(["disabled", "=", False])
filters.append(['ifnull(`{0}`,"")'.format(parent_fieldname), "=", "" if is_root else parent])
diff --git a/erpnext/setup/doctype/department/department.py b/erpnext/setup/doctype/department/department.py
index 16f6fbf..b36f032 100644
--- a/erpnext/setup/doctype/department/department.py
+++ b/erpnext/setup/doctype/department/department.py
@@ -69,7 +69,9 @@
@frappe.whitelist()
-def get_children(doctype, parent=None, company=None, is_root=False):
+def get_children(doctype, parent=None, company=None, is_root=False, include_disabled=False):
+ if isinstance(include_disabled, str):
+ include_disabled = frappe.json.loads(include_disabled)
fields = ["name as value", "is_group as expandable"]
filters = {}
@@ -81,6 +83,9 @@
else:
filters["parent_department"] = parent
+ if frappe.db.has_column(doctype, "disabled") and not include_disabled:
+ filters["disabled"] = False
+
return frappe.get_all("Department", fields=fields, filters=filters, order_by="name")
diff --git a/erpnext/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py
index ef9b12e..07b354a 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.py
+++ b/erpnext/stock/doctype/warehouse/warehouse.py
@@ -183,15 +183,20 @@
@frappe.whitelist()
-def get_children(doctype, parent=None, company=None, is_root=False):
+def get_children(doctype, parent=None, company=None, is_root=False, include_disabled=False):
if is_root:
parent = ""
+ if isinstance(include_disabled, str):
+ include_disabled = frappe.json.loads(include_disabled)
+
fields = ["name as value", "is_group as expandable"]
filters = [
["ifnull(`parent_warehouse`, '')", "=", parent],
["company", "in", (company, None, "")],
]
+ if frappe.db.has_column(doctype, "disabled") and not include_disabled:
+ filters.append(["disabled", "=", False])
return frappe.get_list(doctype, fields=fields, filters=filters, order_by="name")