Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/buying/doctype/purchase_common/purchase_common.py b/buying/doctype/purchase_common/purchase_common.py
index 566c01c..eb8ebef 100644
--- a/buying/doctype/purchase_common/purchase_common.py
+++ b/buying/doctype/purchase_common/purchase_common.py
@@ -353,10 +353,9 @@
raise Exception
# validate stock item
- if item[0][0]=='Yes':
- if not d.warehouse:
- msgprint("Warehouse is mandatory for %s, since it is a stock item" % d.item_code)
- raise Exception
+ if item[0][0]=='Yes' and d.qty and not d.warehouse:
+ msgprint("Warehouse is mandatory for %s, since it is a stock item" %
+ d.item_code, raise_exception=1)
# validate purchase item
if item[0][1] != 'Yes' and item[0][2] != 'Yes':
diff --git a/stock/doctype/purchase_receipt/purchase_receipt.py b/stock/doctype/purchase_receipt/purchase_receipt.py
index 3cf1f27..04ad4dc 100644
--- a/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -230,7 +230,8 @@
get_obj("Warehouse", d.warehouse).update_bin(args)
# UPDATE actual qty to warehouse by pr_qty
- self.make_sl_entry(d, d.warehouse, flt(pr_qty), d.valuation_rate, is_submit)
+ if pr_qty:
+ self.make_sl_entry(d, d.warehouse, flt(pr_qty), d.valuation_rate, is_submit)
# UPDATE actual to rejected warehouse by rejected qty
if flt(d.rejected_qty) > 0:
diff --git a/stock/doctype/stock_ledger/stock_ledger.py b/stock/doctype/stock_ledger/stock_ledger.py
index b64abaf..14166fc 100644
--- a/stock/doctype/stock_ledger/stock_ledger.py
+++ b/stock/doctype/stock_ledger/stock_ledger.py
@@ -80,14 +80,13 @@
# [bug fix] need to strip serial nos of all spaces and new lines for validation
serial_no = cstr(d.serial_no).strip()
-
if serial_no:
if is_stock_item != 'Yes':
msgprint("Serial No is not required for non-stock item: %s" % d.item_code, raise_exception=1)
elif ar_required != 'Yes':
msgprint("If serial no required, please select 'Yes' in 'Has Serial No' in Item :" + d.item_code + \
', otherwise please remove serial no', raise_exception=1)
- elif ar_required == 'Yes' and not serial_no:
+ elif ar_required == 'Yes' and not serial_no and d.qty:
msgprint("Serial no is mandatory for item: "+ d.item_code, raise_exception = 1)
# validate rejected serial nos