From c5fb88c1cd189cd8b06a2ce4d30d79a9f68dfa47 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 9 Feb 2015 16:46:46 +0530 Subject: [PATCH] UOM validation for BOM Items --- erpnext/manufacturing/doctype/bom/bom.py | 2 +- erpnext/utilities/transaction_base.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py index 8a19f41f95..b7a89c861d 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -27,7 +27,7 @@ class BOM(Document): self.validate_main_item() from erpnext.utilities.transaction_base import validate_uom_is_integer - validate_uom_is_integer(self, "stock_uom", "qty") + validate_uom_is_integer(self, "stock_uom", "qty", "BOM Item") self.validate_operations() self.validate_materials() diff --git a/erpnext/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py index 4ba162790c..5e24d9b189 100644 --- a/erpnext/utilities/transaction_base.py +++ b/erpnext/utilities/transaction_base.py @@ -95,7 +95,7 @@ def delete_events(ref_type, ref_name): class UOMMustBeIntegerError(frappe.ValidationError): pass -def validate_uom_is_integer(doc, uom_field, qty_fields): +def validate_uom_is_integer(doc, uom_field, qty_fields, child_dt=None): if isinstance(qty_fields, basestring): qty_fields = [qty_fields] @@ -106,7 +106,7 @@ def validate_uom_is_integer(doc, uom_field, qty_fields): if not integer_uoms: return - for d in doc.get_all_children(): + for d in doc.get_all_children(parenttype=child_dt): if d.get(uom_field) in integer_uoms: for f in qty_fields: if d.get(f):