diff --git a/erpnext/stock/doctype/inventory_dimension/inventory_dimension.py b/erpnext/stock/doctype/inventory_dimension/inventory_dimension.py index 3eca690538a..3480926f0e6 100644 --- a/erpnext/stock/doctype/inventory_dimension/inventory_dimension.py +++ b/erpnext/stock/doctype/inventory_dimension/inventory_dimension.py @@ -364,28 +364,21 @@ def get_evaluated_inventory_dimension(doc, sl_dict, parent_doc=None): return filter_dimensions +@request_cache def get_document_wise_inventory_dimensions(doctype) -> dict: - if not hasattr(frappe.local, "document_wise_inventory_dimensions"): - frappe.local.document_wise_inventory_dimensions = {} - - if not frappe.local.document_wise_inventory_dimensions.get(doctype): - dimensions = frappe.get_all( - "Inventory Dimension", - fields=[ - "name", - "source_fieldname", - "condition", - "target_fieldname", - "type_of_transaction", - "fetch_from_parent", - ], - filters={"disabled": 0}, - or_filters={"document_type": doctype, "apply_to_all_doctypes": 1}, - ) - - frappe.local.document_wise_inventory_dimensions[doctype] = dimensions - - return frappe.local.document_wise_inventory_dimensions[doctype] + return frappe.get_all( + "Inventory Dimension", + fields=[ + "name", + "source_fieldname", + "condition", + "target_fieldname", + "type_of_transaction", + "fetch_from_parent", + ], + filters={"disabled": 0}, + or_filters={"document_type": doctype, "apply_to_all_doctypes": 1}, + ) @frappe.whitelist() diff --git a/erpnext/stock/doctype/inventory_dimension/test_inventory_dimension.py b/erpnext/stock/doctype/inventory_dimension/test_inventory_dimension.py index 2272ea5e50e..ad3f3d59436 100644 --- a/erpnext/stock/doctype/inventory_dimension/test_inventory_dimension.py +++ b/erpnext/stock/doctype/inventory_dimension/test_inventory_dimension.py @@ -87,7 +87,7 @@ class TestInventoryDimension(IntegrationTestCase): self.assertFalse(custom_field) def test_inventory_dimension(self): - frappe.local.document_wise_inventory_dimensions = {} + frappe.clear_cache(doctype="Inventory Dimension") warehouse = "Shelf Warehouse - _TC" item_code = "_Test Item" @@ -159,7 +159,8 @@ class TestInventoryDimension(IntegrationTestCase): self.assertRaises(DoNotChangeError, inv_dim1.save) def test_inventory_dimension_for_purchase_receipt_and_delivery_note(self): - frappe.local.document_wise_inventory_dimensions = {} + frappe.clear_cache(doctype="Inventory Dimension") + frappe.clear_cache("Inventory Dimension") inv_dimension = create_inventory_dimension( reference_document="Rack", dimension_name="Rack", apply_to_all_doctypes=1