Merge branch 'staging-fixes' into new-fix-branch
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..9a35aed 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()
@@ -342,9 +341,11 @@
delivered_qty += item.delivered_qty
tot_qty += item.qty
-
- self.db_set("per_delivered", flt(delivered_qty/tot_qty) * 100,
- update_modified=False)
+
+ if tot_qty != 0:
+ self.db_set("per_delivered", flt(delivered_qty/tot_qty) * 100,
+ update_modified=False)
+
def set_indicator(self):
"""Set indicator for portal"""