refactor: use helper method to fetch item details

This commit is contained in:
ruthra kumar
2024-11-25 14:27:46 +05:30
parent ce1ee98a12
commit 600d92100c

View File

@@ -233,17 +233,8 @@ class TransactionBase(StatusUpdater):
)
)
@frappe.whitelist()
def item_code_trigger(self, item):
# 'item' - child table row from UI. Possibly has user-set values
# Convert it to Frappe doc for better attribute access
item = frappe.get_doc(item)
# Server side 'item' doc. Update this to reflect in UI
item_obj = self.get("items", {"name": item.name})[0]
# 'item_details' has values fetched by system for backend
item_details = get_item_details(
def fetch_item_details(self, item: dict) -> dict:
return get_item_details(
frappe._dict(
{
"item_code": item.get("item_code"),
@@ -295,6 +286,18 @@ class TransactionBase(StatusUpdater):
)
)
@frappe.whitelist()
def item_code_trigger(self, item):
# 'item' - child table row from UI. Possibly has user-set values
# Convert it to Frappe doc for better attribute access
item = frappe.get_doc(item)
# Server side 'item' doc. Update this to reflect in UI
item_obj = self.get("items", {"name": item.name})[0]
# 'item_details' has values fetched by system for backend
item_details = self.fetch_item_details(item)
self.set_fetched_values(item_obj, item_details)
self.set_item_rate_and_discounts(item, item_obj, item_details)
@@ -385,7 +388,8 @@ class TransactionBase(StatusUpdater):
_matches = [
x
for x in existing_free_items
if x.item_code == free_item.get('item_code') and x.pricing_rules == free_item.get('pricing_rules')
if x.item_code == free_item.get("item_code")
and x.pricing_rules == free_item.get("pricing_rules")
]
if _matches:
row_to_modify = _matches[0]