Skip to content

Commit

Permalink
fix: Don't use stale item details (#34847)
Browse files Browse the repository at this point in the history
fix: Don't use stale item details (#34847)

(cherry picked from commit a7051cb)

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
  • Loading branch information
mergify[bot] and deepeshgarg007 committed Apr 14, 2023
1 parent 0cf6144 commit c11aeba
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 31 deletions.
13 changes: 1 addition & 12 deletions erpnext/controllers/accounts_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,6 @@ def set_missing_item_details(self, for_validate=False):
parent_dict.update({"customer": parent_dict.get("party_name")})

self.pricing_rules = []
basic_item_details_map = {}

for item in self.get("items"):
if item.get("item_code"):
Expand All @@ -535,17 +534,7 @@ def set_missing_item_details(self, for_validate=False):
if self.get("is_subcontracted"):
args["is_subcontracted"] = self.is_subcontracted

basic_details = basic_item_details_map.get(item.item_code)
ret, basic_item_details = get_item_details(
args,
self,
for_validate=True,
overwrite_warehouse=False,
return_basic_details=True,
basic_details=basic_details,
)

basic_item_details_map.setdefault(item.item_code, basic_item_details)
ret = get_item_details(args, self, for_validate=True, overwrite_warehouse=False)

for fieldname, value in ret.items():
if item.meta.get_field(fieldname) and value is not None:
Expand Down
22 changes: 3 additions & 19 deletions erpnext/stock/get_item_details.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,7 @@


@frappe.whitelist()
def get_item_details(
args,
doc=None,
for_validate=False,
overwrite_warehouse=True,
return_basic_details=False,
basic_details=None,
):
def get_item_details(args, doc=None, for_validate=False, overwrite_warehouse=True):
"""
args = {
"item_code": "",
Expand Down Expand Up @@ -80,12 +73,7 @@ def get_item_details(
if doc.get("doctype") == "Purchase Invoice":
args["bill_date"] = doc.get("bill_date")

if not basic_details:
out = get_basic_details(args, item, overwrite_warehouse)
else:
out = basic_details

basic_details = out.copy()
out = get_basic_details(args, item, overwrite_warehouse)

get_item_tax_template(args, item, out)
out["item_tax_rate"] = get_item_tax_map(
Expand Down Expand Up @@ -154,11 +142,7 @@ def get_item_details(
out.amount = flt(args.qty) * flt(out.rate)

out = remove_standard_fields(out)

if return_basic_details:
return out, basic_details
else:
return out
return out


def remove_standard_fields(details):
Expand Down

0 comments on commit c11aeba

Please sign in to comment.