Merge pull request #1942 from anandpdoshi/anand-july-16

Fixes in Setup Wizard and Support Ticket
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.py b/erpnext/setup/page/setup_wizard/setup_wizard.py
index ca52efb..343cba5 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.py
@@ -113,9 +113,11 @@
 			last_name=%(last_name)s WHERE name=%(name)s""", args)
 
 	if args.get("attach_user"):
-		filename, filetype, content = args.get("attach_user").split(",")
-		fileurl = save_file(filename, content, "User", args.get("name"), decode=True).file_url
-		frappe.db.set_value("User", args.get("name"), "user_image", fileurl)
+		attach_user = args.get("attach_user").split(",")
+		if len(attach_user)==3:
+			filename, filetype, content = attach_user
+			fileurl = save_file(filename, content, "User", args.get("name"), decode=True).file_url
+			frappe.db.set_value("User", args.get("name"), "user_image", fileurl)
 
 	add_all_roles_to(args.get("name"))
 
@@ -319,9 +321,11 @@
 			}).insert()
 
 			if args.get("item_img_" + str(i)):
-				filename, filetype, content = args.get("item_img_" + str(i)).split(",")
-				fileurl = save_file(filename, content, "Item", item, decode=True).file_url
-				frappe.db.set_value("Item", item, "image", fileurl)
+				item_image = args.get("item_img_" + str(i)).split(",")
+				if len(item_image)==3:
+					filename, filetype, content = item_image
+					fileurl = save_file(filename, content, "Item", item, decode=True).file_url
+					frappe.db.set_value("Item", item, "image", fileurl)
 
 def create_customers(args):
 	for i in xrange(1,6):
@@ -374,17 +378,21 @@
 			"is_default": 1
 		}).insert()
 
-		filename, filetype, content = args.get("attach_letterhead").split(",")
-		fileurl = save_file(filename, content, "Letter Head", _("Standard"), decode=True).file_url
-		frappe.db.set_value("Letter Head", _("Standard"), "content", "<img src='%s' style='max-width: 100%%;'>" % fileurl)
+		attach_letterhead = args.get("attach_letterhead").split(",")
+		if len(attach_letterhead)==3:
+			filename, filetype, content = attach_letterhead
+			fileurl = save_file(filename, content, "Letter Head", _("Standard"), decode=True).file_url
+			frappe.db.set_value("Letter Head", _("Standard"), "content", "<img src='%s' style='max-width: 100%%;'>" % fileurl)
 
 def create_logo(args):
 	if args.get("attach_logo"):
-		filename, filetype, content = args.get("attach_logo").split(",")
-		fileurl = save_file(filename, content, "Website Settings", "Website Settings",
-			decode=True).file_url
-		frappe.db.set_value("Website Settings", "Website Settings", "banner_html",
-			"<img src='%s' style='max-width: 100%%;'>" % fileurl)
+		attach_logo = args.get("attach_logo").split(",")
+		if len(attach_logo)==3:
+			filename, filetype, content = attach_logo
+			fileurl = save_file(filename, content, "Website Settings", "Website Settings",
+				decode=True).file_url
+			frappe.db.set_value("Website Settings", "Website Settings", "banner_html",
+				"<img src='%s' style='max-width: 100%%;'>" % fileurl)
 
 def add_all_roles_to(name):
 	user = frappe.get_doc("User", name)
diff --git a/erpnext/support/doctype/support_ticket/support_ticket.py b/erpnext/support/doctype/support_ticket/support_ticket.py
index 9517ea4..4cdc20a 100644
--- a/erpnext/support/doctype/support_ticket/support_ticket.py
+++ b/erpnext/support/doctype/support_ticket/support_ticket.py
@@ -8,31 +8,31 @@
 from frappe.utils import now, extract_email_id
 
 class SupportTicket(TransactionBase):
-	
+
 	def get_sender(self, comm):
 		return frappe.db.get_value('Support Email Settings',None,'support_email')
 
 	def get_subject(self, comm):
 		return '[' + self.name + '] ' + (comm.subject or 'No Subject Specified')
-	
+
 	def get_content(self, comm):
 		signature = frappe.db.get_value('Support Email Settings',None,'support_signature')
 		content = comm.content
 		if signature:
 			content += '<p>' + signature + '</p>'
 		return content
-		
+
 	def get_portal_page(self):
 		return "ticket"
-	
+
 	def validate(self):
 		self.update_status()
 		self.set_lead_contact(self.raised_by)
-		
+
 		if self.status == "Closed":
 			from frappe.widgets.form.assign_to import clear
 			clear(self.doctype, self.name)
-				
+
 	def set_lead_contact(self, email_id):
 		import email.utils
 		email_id = email.utils.parseaddr(email_id)
@@ -41,8 +41,8 @@
 				self.lead = frappe.db.get_value("Lead", {"email_id": email_id})
 			if not self.contact:
 				self.contact = frappe.db.get_value("Contact", {"email_id": email_id})
-				
-			if not self.company:		
+
+			if not self.company:
 				self.company = frappe.db.get_value("Lead", self.lead, "company") or \
 					frappe.db.get_default("company")
 
@@ -53,15 +53,16 @@
 		if self.status=="Closed" and status !="Closed":
 			self.resolution_date = now()
 		if self.status=="Open" and status !="Open":
-			self.resolution_date = ""
+			# if no date, it should be set as None and not a blank string "", as per mysql strict config
+			self.resolution_date = None
 
 @frappe.whitelist()
 def set_status(name, status):
 	st = frappe.get_doc("Support Ticket", name)
 	st.status = status
 	st.save()
-		
+
 def auto_close_tickets():
-	frappe.db.sql("""update `tabSupport Ticket` set status = 'Closed' 
-		where status = 'Replied' 
+	frappe.db.sql("""update `tabSupport Ticket` set status = 'Closed'
+		where status = 'Replied'
 		and date_sub(curdate(),interval 15 Day) > modified""")