perf: multiple performance fixes in get_item_warehouse (backport #49118)

Co-authored-by: Sagar Vora <16315650+sagarvora@users.noreply.github.com>
This commit is contained in:
mergify[bot]
2025-08-12 11:43:43 +00:00
committed by GitHub
parent 167ff00c99
commit 76b0f4fb25
4 changed files with 8 additions and 13 deletions

View File

@@ -35,7 +35,7 @@ def get_brand_defaults(item, company):
for d in brand.brand_defaults or []:
if d.company == company:
row = copy.deepcopy(d.as_dict())
row = d.as_dict(no_private_properties=True)
row.pop("name")
return row

View File

@@ -90,7 +90,7 @@ def get_item_group_defaults(item, company):
for d in item_group.item_group_defaults or []:
if d.company == company:
row = copy.deepcopy(d.as_dict())
row = d.as_dict(no_private_properties=True)
row.pop("name")
return row

View File

@@ -1281,7 +1281,7 @@ def get_item_defaults(item_code, company):
for d in item.item_defaults:
if d.company == company:
row = copy.deepcopy(d.as_dict())
row = d.as_dict(no_private_properties=True)
row.pop("name")
out.update(row)
return out

View File

@@ -567,20 +567,15 @@ def get_item_warehouse(item, args, overwrite_warehouse, defaults=None):
or args.get("warehouse")
)
if not warehouse:
defaults = frappe.defaults.get_defaults() or {}
warehouse_exists = frappe.db.exists(
"Warehouse", {"name": defaults.default_warehouse, "company": args.company}
)
if defaults.get("default_warehouse") and warehouse_exists:
warehouse = defaults.default_warehouse
else:
warehouse = args.get("warehouse")
if not warehouse:
default_warehouse = frappe.db.get_single_value("Stock Settings", "default_warehouse")
if frappe.db.get_value("Warehouse", default_warehouse, "company") == args.company:
default_warehouse = frappe.get_single_value("Stock Settings", "default_warehouse")
if (
default_warehouse
and frappe.get_cached_value("Warehouse", default_warehouse, "company") == args.company
):
return default_warehouse
return warehouse