Merge pull request #53011 from ruthra-kumar/remove_frappe_flags_from_acc_dimension

refactor: use cache decorator in accounting dimensions
This commit is contained in:
ruthra kumar
2026-02-27 11:48:06 +05:30
committed by GitHub

View File

@@ -103,10 +103,6 @@ class AccountingDimension(Document):
if not self.fieldname: if not self.fieldname:
self.fieldname = scrub(self.label) self.fieldname = scrub(self.label)
def on_update(self):
frappe.flags.accounting_dimensions = None
frappe.flags.accounting_dimensions_details = None
def make_dimension_in_accounting_doctypes(doc, doclist=None): def make_dimension_in_accounting_doctypes(doc, doclist=None):
if not doclist: if not doclist:
@@ -241,34 +237,26 @@ def get_doctypes_with_dimensions():
return frappe.get_hooks("accounting_dimension_doctypes") return frappe.get_hooks("accounting_dimension_doctypes")
def get_accounting_dimensions(as_list=True, filters=None): def get_accounting_dimensions(as_list=True):
if not filters: accounting_dimensions = frappe.get_all(
filters = {"disabled": 0} "Accounting Dimension",
fields=["label", "fieldname", "disabled", "document_type"],
if frappe.flags.accounting_dimensions is None: filters={"disabled": 0},
frappe.flags.accounting_dimensions = frappe.get_all( )
"Accounting Dimension",
fields=["label", "fieldname", "disabled", "document_type"],
filters=filters,
)
if as_list: if as_list:
return [d.fieldname for d in frappe.flags.accounting_dimensions] return [d.fieldname for d in accounting_dimensions]
else: else:
return frappe.flags.accounting_dimensions return accounting_dimensions
def get_checks_for_pl_and_bs_accounts(): def get_checks_for_pl_and_bs_accounts():
if frappe.flags.accounting_dimensions_details is None: return frappe.db.sql(
# nosemgrep """SELECT p.label, p.disabled, p.fieldname, c.default_dimension, c.company, c.mandatory_for_pl, c.mandatory_for_bs
frappe.flags.accounting_dimensions_details = frappe.db.sql(
"""SELECT p.label, p.disabled, p.fieldname, c.default_dimension, c.company, c.mandatory_for_pl, c.mandatory_for_bs
FROM `tabAccounting Dimension`p ,`tabAccounting Dimension Detail` c FROM `tabAccounting Dimension`p ,`tabAccounting Dimension Detail` c
WHERE p.name = c.parent AND p.disabled = 0""", WHERE p.name = c.parent AND p.disabled = 0""",
as_dict=1, as_dict=1,
) )
return frappe.flags.accounting_dimensions_details
def get_dimension_with_children(doctype, dimensions): def get_dimension_with_children(doctype, dimensions):