Merge pull request #2125 from anandpdoshi/anand-august-29

[fix] Maintenance Schedule, Incoming Rate
diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py
index 100d338..7264f36 100644
--- a/erpnext/stock/utils.py
+++ b/erpnext/stock/utils.py
@@ -67,7 +67,7 @@
 	from erpnext.stock.stock_ledger import get_previous_sle
 
 	in_rate = 0
-	if args.get("serial_no"):
+	if (args.get("serial_no") or "").strip():
 		in_rate = get_avg_purchase_rate(args.get("serial_no"))
 	else:
 		valuation_method = get_valuation_method(args.get("item_code"))
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
index 4b06fe0..a739651 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
@@ -134,7 +134,7 @@
 
 	def validate_dates_with_periodicity(self):
 		for d in self.get("item_maintenance_detail"):
-			if d.start_date and d.end_date and d.periodicity:
+			if d.start_date and d.end_date and d.periodicity and d.periodicity!="Random":
 				date_diff = (getdate(d.end_date) - getdate(d.start_date)).days + 1
 				days_in_period = {
 					"Weekly": 7,