[fix] [minor] item validation
diff --git a/stock/doctype/item/item.py b/stock/doctype/item/item.py
index a4985e9..b5884b4 100644
--- a/stock/doctype/item/item.py
+++ b/stock/doctype/item/item.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import webnotes
 
-from webnotes.utils import cstr, flt, cint
+from webnotes.utils import cstr, flt
 from webnotes.model.doc import addchild
 from webnotes.model.bean import getlist
 from webnotes import msgprint, _
@@ -116,40 +116,29 @@
 			self.doc.is_pro_applicable = "No"
 
 		if self.doc.is_pro_applicable == 'Yes' and self.doc.is_stock_item == 'No':
-			msgprint("As Production Order can be made for this Item, then Is Stock Item Should be 'Yes' as we maintain it's stock. Refer Manufacturing and Inventory section.", raise_exception=1)
+			webnotes.throw(_("As Production Order can be made for this item, \
+				it must be a stock item."))
 
 		if self.doc.has_serial_no == 'Yes' and self.doc.is_stock_item == 'No':
 			msgprint("'Has Serial No' can not be 'Yes' for non-stock item", raise_exception=1)
 			
 	def check_for_active_boms(self):
-		def _check_for_active_boms(field_label):
-			if field_label in ['Is Active', 'Is Purchase Item']:
-				bom_mat = webnotes.conn.sql("""select distinct t1.parent 
-					from `tabBOM Item` t1, `tabBOM` t2 where t2.name = t1.parent 
-					and t1.item_code =%s and ifnull(t1.bom_no, '') = '' and t2.is_active = 1 
-					and t2.docstatus = 1 and t1.docstatus =1 """, self.doc.name)
-				if bom_mat and bom_mat[0][0]:
-					msgprint(_(field_label) + _(" should be 'Yes'. As Item: ") + self.doc.name + 
-						_(" is present in one or many Active BOMs"), raise_exception=1)
-						
-			if ((field_label == 'Allow Production Order' 
-					and self.doc.is_sub_contracted_item != 'Yes') 
-					or (field_label == 'Is Sub Contracted Item' 
-					and self.doc.is_manufactured_item != 'Yes')):
-				bom = webnotes.conn.sql("""select name from `tabBOM` where item = %s 
-					and is_active = 1""", (self.doc.name,))
-				if bom and bom[0][0]:
-					msgprint(_(field_label) + _(" should be 'Yes'. As Item: ") + self.doc.name + 
-						_(" is present in one or many Active BOMs"), raise_exception=1)
-		
-		if not cint(self.doc.fields.get("__islocal")):
-			fl = {'is_manufactured_item'	:'Allow Bill of Materials',
-					'is_sub_contracted_item':'Is Sub Contracted Item',
-					'is_purchase_item'			:'Is Purchase Item',
-					'is_pro_applicable'		 :'Allow Production Order'}
-			for d in fl:
-				if cstr(self.doc.fields.get(d)) != 'Yes':
-					_check_for_active_boms(fl[d])			
+		if self.doc.is_active != "Yes" or self.doc.is_purchase_item != "Yes":
+			bom_mat = webnotes.conn.sql("""select distinct t1.parent 
+				from `tabBOM Item` t1, `tabBOM` t2 where t2.name = t1.parent 
+				and t1.item_code =%s and ifnull(t1.bom_no, '') = '' and t2.is_active = 1 
+				and t2.docstatus = 1 and t1.docstatus =1 """, self.doc.name)
+				
+			if bom_mat and bom_mat[0][0]:
+				webnotes.throw(_("Item must be active and purchase item, \
+					as it is present in one or many Active BOMs"))
+					
+		if self.doc.is_manufactured_item != "Yes":
+			bom = webnotes.conn.sql("""select name from `tabBOM` where item = %s 
+				and is_active = 1""", (self.doc.name,))
+			if bom and bom[0][0]:
+				webnotes.throw(_("""Allow Bill of Materials should be 'Yes'. Because one or many \
+					active BOMs present for this item"""))
 					
 	def fill_customer_code(self):
 		""" Append all the customer codes and insert into "customer_code" field of item table """