making validation generic for sales order,sales invoice,purchase order etc.
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 51747f6..403adb3 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -57,6 +57,8 @@
_('{0} is blocked so this transaction cannot proceed'.format(supplier_name)), raise_exception=1)
def validate(self):
+
+ self.validate_qty_is_not_zero()
if self.get("_action") and self._action != "update_after_submit":
self.set_missing_values(for_validate=True)
@@ -359,6 +361,11 @@
return gl_dict
+ def validate_qty_is_not_zero(self):
+ for item in self.items:
+ if not item.qty:
+ frappe.throw("Item quantity can not be zero")
+
def validate_account_currency(self, account, account_currency=None):
valid_currency = [self.company_currency]
if self.get("currency") and self.currency != self.company_currency:
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 5f435ce..f6ee48e 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -32,7 +32,6 @@
def validate(self):
super(SalesOrder, self).validate()
-
self.validate_order_type()
self.validate_delivery_date()
self.validate_proj_cust()
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index ea1808b..ab624d1 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -98,7 +98,6 @@
frappe.throw(_("Sales Order required for Item {0}").format(d.item_code))
def validate(self):
- self.validate_qty()
self.validate_posting_time()
super(DeliveryNote, self).validate()
self.set_status()
@@ -120,11 +119,6 @@
self.update_current_stock()
if not self.installation_status: self.installation_status = 'Not Installed'
-
- def validate_qty(self):
- for item in self.items:
- if not item.qty:
- frappe.throw("Item quantity can not be zero")
def validate_with_previous_doc(self):
super(DeliveryNote, self).validate_with_previous_doc({
@@ -208,7 +202,6 @@
def on_submit(self):
self.validate_packed_qty()
- self.validate_qty()
# Check for Approving Authority
frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype, self.company, self.base_grand_total, self)