From fa2290657af19142f71804f54e20801cc6268558 Mon Sep 17 00:00:00 2001 From: Sagar Sharma Date: Fri, 30 Sep 2022 16:18:15 +0530 Subject: [PATCH] fix: add validation for non-stock item in SCR --- erpnext/controllers/subcontracting_controller.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/erpnext/controllers/subcontracting_controller.py b/erpnext/controllers/subcontracting_controller.py index 6bc88d1964..aa4468c04e 100644 --- a/erpnext/controllers/subcontracting_controller.py +++ b/erpnext/controllers/subcontracting_controller.py @@ -69,9 +69,18 @@ class SubcontractingController(StockController): def validate_items(self): for item in self.items: - if not frappe.get_value("Item", item.item_code, "is_sub_contracted_item"): + is_stock_item, is_sub_contracted_item = frappe.get_value( + "Item", item.item_code, ["is_stock_item", "is_sub_contracted_item"] + ) + + if not is_stock_item: + msg = f"Item {item.item_name} must be a stock item." + frappe.throw(_(msg)) + + if not is_sub_contracted_item: msg = f"Item {item.item_name} must be a subcontracted item." frappe.throw(_(msg)) + if item.bom: bom = frappe.get_doc("BOM", item.bom) if not bom.is_active: