From 27efc91db0fd63686e80ed1c9eb0d0379fcd6247 Mon Sep 17 00:00:00 2001 From: mbauskar Date: Wed, 15 Mar 2017 18:57:18 +0530 Subject: [PATCH] [minor] make item code mandatory if update_stock is selected --- .../accounts/doctype/purchase_invoice/purchase_invoice.js | 1 + .../accounts/doctype/purchase_invoice/purchase_invoice.py | 7 +++++++ erpnext/accounts/doctype/sales_invoice/sales_invoice.js | 1 + erpnext/public/js/controllers/transaction.js | 1 - 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js index 5f4e8c05d9..48b18493d1 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js @@ -205,6 +205,7 @@ function hide_fields(doc) { cur_frm.cscript.update_stock = function(doc, dt, dn) { hide_fields(doc, dt, dn); + this.frm.fields_dict.items.grid.toggle_reqd("item_code", doc.update_stock? true: false) } cur_frm.fields_dict.cash_bank_account.get_query = function(doc) { diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py index 14459fa497..feb0775572 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -156,6 +156,12 @@ class PurchaseInvoice(BuyingController): super(PurchaseInvoice, self).validate_warehouse() + + def validate_item_code(self): + for d in self.get('items'): + if not d.item_code: + frappe.msgprint(_("Item Code required at Row No {0}").format(d.idx), raise_exception=True) + def set_expense_account(self, for_validate=False): auto_accounting_for_stock = cint(frappe.defaults.get_global_default("auto_accounting_for_stock")) @@ -164,6 +170,7 @@ class PurchaseInvoice(BuyingController): stock_items = self.get_stock_items() if self.update_stock: + self.validate_item_code() self.validate_warehouse() warehouse_account = get_warehouse_account() diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js index 1564b48c68..0b6e2afadb 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js @@ -321,6 +321,7 @@ cur_frm.cscript.hide_fields = function(doc) { cur_frm.cscript.update_stock = function(doc, dt, dn) { cur_frm.cscript.hide_fields(doc, dt, dn); + this.frm.fields_dict.items.grid.toggle_reqd("item_code", doc.update_stock? true: false) } cur_frm.cscript['Make Delivery Note'] = function() { diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 4e08287004..f8aa7cff57 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -1047,5 +1047,4 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ return method }, - }); \ No newline at end of file