From 8ecb78ba3999c17bdc998a5ec7e47ac0a167673c Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 22 Jul 2016 12:25:09 +0530 Subject: [PATCH] Validate warehouse if update stock checked in Purchase Invoice --- .../doctype/purchase_invoice/purchase_invoice.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py index 5be0b69706..5e7c05bd7a 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -147,6 +147,14 @@ class PurchaseInvoice(BuyingController): ["Purchase Receipt", "purchase_receipt", "pr_detail"] ]) + def validate_warehouse(self): + if self.update_stock: + for d in self.get('items'): + if not d.warehouse: + frappe.throw(_("Warehouse required at Row No {0}").format(d.idx)) + + super(PurchaseInvoice, self).validate_warehouse() + def set_expense_account(self): auto_accounting_for_stock = cint(frappe.defaults.get_global_default("auto_accounting_for_stock")) @@ -155,6 +163,7 @@ class PurchaseInvoice(BuyingController): stock_items = self.get_stock_items() if self.update_stock: + self.validate_warehouse() warehouse_account = get_warehouse_account() for item in self.get("items"):