From 338eb36811e158a66e88c024f4f42666252a41b3 Mon Sep 17 00:00:00 2001 From: ankitjavalkarwork Date: Tue, 11 Nov 2014 12:40:16 +0530 Subject: [PATCH] [#2219] Re-Order Level Validation: Warehouse cannot have two reorders for same item --- erpnext/stock/doctype/item/item.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py index 878e7d1551..8bccf07687 100644 --- a/erpnext/stock/doctype/item/item.py +++ b/erpnext/stock/doctype/item/item.py @@ -55,6 +55,7 @@ class Item(WebsiteGenerator): 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 @@ class Item(WebsiteGenerator): 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)