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)