From 469827da85e6594c05fbc9aae63f69a36dbe5b1f Mon Sep 17 00:00:00 2001 From: pateljannat Date: Wed, 3 Feb 2021 15:34:57 +0530 Subject: [PATCH 1/3] fix: validation for disabled warehouse --- erpnext/controllers/stock_controller.py | 3 ++- erpnext/stock/utils.py | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py index 712fd3a51f5..d54a5366399 100644 --- a/erpnext/controllers/stock_controller.py +++ b/erpnext/controllers/stock_controller.py @@ -319,12 +319,13 @@ class StockController(AccountsController): return incoming_rate def validate_warehouse(self): - from erpnext.stock.utils import validate_warehouse_company + from erpnext.stock.utils import validate_warehouse_company, is_disabled_warehouse warehouses = list(set([d.warehouse for d in self.get("items") if getattr(d, "warehouse", None)])) for w in warehouses: + is_disabled_warehouse(w) validate_warehouse_company(w, self.company) def update_billing_percentage(self, update_modified=True): diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py index da4b529b01e..16e58356397 100644 --- a/erpnext/stock/utils.py +++ b/erpnext/stock/utils.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import frappe, erpnext from frappe import _ import json -from frappe.utils import flt, cstr, nowdate, nowtime +from frappe.utils import flt, cstr, nowdate, nowtime, get_link_to_form from six import string_types @@ -279,6 +279,10 @@ def is_group_warehouse(warehouse): if frappe.db.get_value("Warehouse", warehouse, "is_group"): frappe.throw(_("Group node warehouse is not allowed to select for transactions")) +def is_disabled_warehouse(warehouse): + if frappe.db.get_value("Warehouse", warehouse, "disabled"): + frappe.throw(_("Disabled Warehouse {0} cannot be used for this transaction.").format(get_link_to_form('Warehouse', warehouse))) + def update_included_uom_in_report(columns, result, include_uom, conversion_factors): if not include_uom or not conversion_factors: return From 14717eeac690ea241218b299ef4872dc48c792fd Mon Sep 17 00:00:00 2001 From: pateljannat Date: Tue, 9 Feb 2021 14:12:20 +0530 Subject: [PATCH 2/3] fix: better function name --- erpnext/controllers/stock_controller.py | 4 ++-- erpnext/stock/utils.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py index d54a5366399..5370f4c571c 100644 --- a/erpnext/controllers/stock_controller.py +++ b/erpnext/controllers/stock_controller.py @@ -319,13 +319,13 @@ class StockController(AccountsController): return incoming_rate def validate_warehouse(self): - from erpnext.stock.utils import validate_warehouse_company, is_disabled_warehouse + from erpnext.stock.utils import validate_warehouse_company, validate_disabled_warehouse warehouses = list(set([d.warehouse for d in self.get("items") if getattr(d, "warehouse", None)])) for w in warehouses: - is_disabled_warehouse(w) + validate_disabled_warehouse(w) validate_warehouse_company(w, self.company) def update_billing_percentage(self, update_modified=True): diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py index 16e58356397..bef7450b7ef 100644 --- a/erpnext/stock/utils.py +++ b/erpnext/stock/utils.py @@ -279,7 +279,7 @@ def is_group_warehouse(warehouse): if frappe.db.get_value("Warehouse", warehouse, "is_group"): frappe.throw(_("Group node warehouse is not allowed to select for transactions")) -def is_disabled_warehouse(warehouse): +def validate_disabled_warehouse(warehouse): if frappe.db.get_value("Warehouse", warehouse, "disabled"): frappe.throw(_("Disabled Warehouse {0} cannot be used for this transaction.").format(get_link_to_form('Warehouse', warehouse))) From 5ac5d86d847bd8bc7b0562a8fcf08a89baeee662 Mon Sep 17 00:00:00 2001 From: pateljannat Date: Wed, 10 Feb 2021 18:44:38 +0530 Subject: [PATCH 3/3] fix: vadd validation in stock ledger entry --- erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py index 837dfd5bd30..dd931e179b3 100644 --- a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +++ b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py @@ -25,10 +25,11 @@ class StockLedgerEntry(Document): def validate(self): self.flags.ignore_submit_comment = True - from erpnext.stock.utils import validate_warehouse_company + from erpnext.stock.utils import validate_warehouse_company, validate_disabled_warehouse self.validate_mandatory() self.validate_item() self.validate_batch() + validate_disabled_warehouse(self.warehouse) validate_warehouse_company(self.warehouse, self.company) self.scrub_posting_time() self.validate_and_set_fiscal_year()