mirror of
https://github.com/frappe/erpnext.git
synced 2026-04-21 07:38:29 +00:00
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:
@@ -35,7 +35,7 @@ def get_brand_defaults(item, company):
|
|||||||
|
|
||||||
for d in brand.brand_defaults or []:
|
for d in brand.brand_defaults or []:
|
||||||
if d.company == company:
|
if d.company == company:
|
||||||
row = copy.deepcopy(d.as_dict())
|
row = d.as_dict(no_private_properties=True)
|
||||||
row.pop("name")
|
row.pop("name")
|
||||||
return row
|
return row
|
||||||
|
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ def get_item_group_defaults(item, company):
|
|||||||
|
|
||||||
for d in item_group.item_group_defaults or []:
|
for d in item_group.item_group_defaults or []:
|
||||||
if d.company == company:
|
if d.company == company:
|
||||||
row = copy.deepcopy(d.as_dict())
|
row = d.as_dict(no_private_properties=True)
|
||||||
row.pop("name")
|
row.pop("name")
|
||||||
return row
|
return row
|
||||||
|
|
||||||
|
|||||||
@@ -1281,7 +1281,7 @@ def get_item_defaults(item_code, company):
|
|||||||
|
|
||||||
for d in item.item_defaults:
|
for d in item.item_defaults:
|
||||||
if d.company == company:
|
if d.company == company:
|
||||||
row = copy.deepcopy(d.as_dict())
|
row = d.as_dict(no_private_properties=True)
|
||||||
row.pop("name")
|
row.pop("name")
|
||||||
out.update(row)
|
out.update(row)
|
||||||
return out
|
return out
|
||||||
|
|||||||
@@ -567,20 +567,15 @@ def get_item_warehouse(item, args, overwrite_warehouse, defaults=None):
|
|||||||
or args.get("warehouse")
|
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:
|
else:
|
||||||
warehouse = args.get("warehouse")
|
warehouse = args.get("warehouse")
|
||||||
|
|
||||||
if not warehouse:
|
if not warehouse:
|
||||||
default_warehouse = frappe.db.get_single_value("Stock Settings", "default_warehouse")
|
default_warehouse = frappe.get_single_value("Stock Settings", "default_warehouse")
|
||||||
if frappe.db.get_value("Warehouse", default_warehouse, "company") == args.company:
|
if (
|
||||||
|
default_warehouse
|
||||||
|
and frappe.get_cached_value("Warehouse", default_warehouse, "company") == args.company
|
||||||
|
):
|
||||||
return default_warehouse
|
return default_warehouse
|
||||||
|
|
||||||
return warehouse
|
return warehouse
|
||||||
|
|||||||
Reference in New Issue
Block a user