fix(stock): allow to create quality inspection after purchase/delivery

(cherry picked from commit c6a88ab1d2)

# Conflicts:
#	erpnext/controllers/stock_controller.py
This commit is contained in:
Sudharsanan11
2026-05-29 16:56:29 +05:30
committed by Mergify
parent 13e1159c41
commit 51a140a2bd
2 changed files with 28 additions and 6 deletions

View File

@@ -2112,7 +2112,11 @@ def repost_required_for_queue(doc: StockController) -> bool:
@frappe.whitelist() @frappe.whitelist()
<<<<<<< HEAD
def check_item_quality_inspection(doctype, items): def check_item_quality_inspection(doctype, items):
=======
def check_item_quality_inspection(doctype: str, docstatus: str | int, items: str | list[dict]):
>>>>>>> c6a88ab1d2 (fix(stock): allow to create quality inspection after purchase/delivery)
if isinstance(items, str): if isinstance(items, str):
items = json.loads(items) items = json.loads(items)
@@ -2124,13 +2128,30 @@ def check_item_quality_inspection(doctype, items):
"Delivery Note": "inspection_required_before_delivery", "Delivery Note": "inspection_required_before_delivery",
} }
items_to_remove = [] inspection_fieldname = inspection_fieldname_map.get(doctype)
for item in items: if inspection_fieldname is None:
if not frappe.db.get_value("Item", item.get("item_code"), inspection_fieldname_map.get(doctype)): return []
items_to_remove.append(item)
items = [item for item in items if item not in items_to_remove]
return items allow_after_transaction = cint(docstatus) == 1 and frappe.get_single_value(
"Stock Settings", "allow_to_make_quality_inspection_after_purchase_or_delivery"
)
if allow_after_transaction:
return items
item_codes = list({item.get("item_code") for item in items})
Item = frappe.qb.DocType("Item")
results = (
frappe.qb.from_(Item)
.select(Item.name)
.where((Item.name.isin(item_codes)) & (Item[inspection_fieldname] == 1))
.run(as_dict=True)
)
inspection_required_items = {row.name for row in results}
return [item for item in items if item.get("item_code") in inspection_required_items]
@frappe.whitelist() @frappe.whitelist()

View File

@@ -2929,6 +2929,7 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
method: "erpnext.controllers.stock_controller.check_item_quality_inspection", method: "erpnext.controllers.stock_controller.check_item_quality_inspection",
args: { args: {
doctype: this.frm.doc.doctype, doctype: this.frm.doc.doctype,
docstatus: this.frm.doc.docstatus,
items: this.frm.doc.items, items: this.frm.doc.items,
}, },
freeze: true, freeze: true,