Merge branch 'master' of github.com:webnotes/erpnext into edge
diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.py b/support/doctype/maintenance_schedule/maintenance_schedule.py
index 6628c0b..46891dc 100644
--- a/support/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/support/doctype/maintenance_schedule/maintenance_schedule.py
@@ -17,10 +17,9 @@
 from __future__ import unicode_literals
 import webnotes
 
-from webnotes.utils import add_days, cstr, date_diff, getdate
-from webnotes.model import db_exists
+from webnotes.utils import add_days, cstr, getdate
 from webnotes.model.doc import Document, addchild
-from webnotes.model.wrapper import getlist, copy_doclist
+from webnotes.model.wrapper import getlist
 from webnotes.model.code import get_obj
 from webnotes import msgprint
 
@@ -54,7 +53,6 @@
 	# generate maintenance schedule
 	#-------------------------------------
 	def generate_schedule(self):
-		import datetime
 		self.doclist = self.doc.clear_table(self.doclist, 'maintenance_schedule_detail')
 		count = 0
 		sql("delete from `tabMaintenance Schedule Detail` where parent='%s'" %(self.doc.name))
@@ -158,9 +156,7 @@
 	#get count on the basis of periodicity selected
 	#----------------------------------------------------
 	def get_no_of_visits(self, arg):
-		arg1 = eval(arg)
-		start_date = arg1['start_date']
-		
+		arg1 = eval(arg)		
 		self.validate_period(arg)
 		period = (getdate(arg1['end_date'])-getdate(arg1['start_date'])).days+1
 		
@@ -279,7 +275,7 @@
 	
 	def validate_serial_no_warranty(self):
 		for d in getlist(self.doclist, 'item_maintenance_detail'):
-			if d.serial_no.strip():
+			if cstr(d.serial_no).strip():
 				dt = sql("""select warranty_expiry_date, amc_expiry_date 
 					from `tabSerial No` where name = %s""", d.serial_no, as_dict=1)
 				if dt[0]['warranty_expiry_date'] and dt[0]['warranty_expiry_date'] >= d.start_date:
@@ -290,7 +286,7 @@
 				if dt[0]['amc_expiry_date'] and dt[0]['amc_expiry_date'] >= d.start_date:
 					webnotes.msgprint("""Serial No: %s is already under AMC upto %s.
 						Please check AMC Start Date.""" % 
-						(d.serial_no, sr[0]["amc_expiry_date"]), raise_exception=1)
+						(d.serial_no, dt[0]["amc_expiry_date"]), raise_exception=1)
 
 	def validate_schedule(self):
 		item_lst1 =[]