Merge pull request #2401 from ankitjavalkarwork/fix2219

[#2219] Re-Order Level Validation: Warehouse cannot have two reorders for same item
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index 878e7d1..8bccf07 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -55,6 +55,7 @@
 		self.validate_barcode()
 		self.cant_change()
 		self.validate_item_type_for_reorder()
+		self.validate_warehouse_for_reorder()
 		self.validate_variants()
 
 		if not self.get("__islocal"):
@@ -344,6 +345,15 @@
 			if not self.is_purchase_item:
 				frappe.throw(_("""To set reorder level, item must be Purchase Item"""))
 
+	def validate_warehouse_for_reorder(self):
+		warehouse = []
+		for i in self.get("item_reorder"):
+			if i.get("warehouse") and i.get("warehouse") not in warehouse:
+				warehouse += [i.get("warehouse")]
+			else:
+				frappe.throw(_("Row {0}: An Reorder entry already exists for this warehouse {1}")
+					.format(i.idx, i.warehouse))
+
 	def check_if_sle_exists(self):
 		sle = frappe.db.sql("""select name from `tabStock Ledger Entry`
 			where item_code = %s""", self.name)