diff --git a/erpnext/patches/june_2012/series_unique_patch.py b/erpnext/patches/june_2012/series_unique_patch.py
new file mode 100644
index 0000000..6f85f21
--- /dev/null
+++ b/erpnext/patches/june_2012/series_unique_patch.py
@@ -0,0 +1,6 @@
+def execute():
+	"""add unique constraint to series table's name column"""
+	import webnotes
+	webnotes.conn.commit()
+	webnotes.conn.sql("alter table `tabSeries` add unique (name)")
+	webnotes.conn.begin()
\ No newline at end of file
diff --git a/erpnext/patches/june_2012/support_ticket_autoreply.py b/erpnext/patches/june_2012/support_ticket_autoreply.py
new file mode 100644
index 0000000..cdb47a2
--- /dev/null
+++ b/erpnext/patches/june_2012/support_ticket_autoreply.py
@@ -0,0 +1,15 @@
+def execute():
+	"""New Send Autoreply checkbox in Email Settings"""
+	import webnotes
+	import webnotes.utils
+	
+	import webnotes.model.sync
+	webnotes.conn.commit()
+	webnotes.model.sync.sync('setup', 'email_settings')
+	webnotes.conn.begin()
+	
+	sync_support_mails = webnotes.utils.cint(webnotes.conn.get_value('Email Settings',
+							None, 'sync_support_mails'))
+							
+	if sync_support_mails:
+		webnotes.conn.set_value('Email Settings', None, 'send_autoreply', 1)
\ No newline at end of file
diff --git a/erpnext/patches/patch_list.py b/erpnext/patches/patch_list.py
index b471780..98c3aff 100644
--- a/erpnext/patches/patch_list.py
+++ b/erpnext/patches/patch_list.py
@@ -432,4 +432,14 @@
 		'patch_file': 'reports_list_permission',
 		'description': 'allow read permission to all for report list'
 	},
+	{
+		'patch_module': 'patches.june_2012',
+		'patch_file': 'support_ticket_autoreply',
+		'description': 'New Send Autoreply checkbox in Email Settings'
+	},
+	{
+		'patch_module': 'patches.june_2012',
+		'patch_file': 'series_unique_patch',
+		'description': "add unique constraint to series table's name column"
+	},
 ]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.js b/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.js
index 4879183..335df7a 100755
--- a/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.js
+++ b/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.js
@@ -41,7 +41,7 @@
   date_fld = 'transaction_date';
   if(based_on == 'Sales Invoice') {
     based_on = 'Sales Invoice';
-    date_fld = 'voucher_date';
+    date_fld = 'posting_date';
   }
 
   sp_cond = '';
diff --git a/erpnext/setup/doctype/email_settings/email_settings.py b/erpnext/setup/doctype/email_settings/email_settings.py
index 3e17636..755b91d 100644
--- a/erpnext/setup/doctype/email_settings/email_settings.py
+++ b/erpnext/setup/doctype/email_settings/email_settings.py
@@ -45,28 +45,33 @@
 			out_email.port = cint(self.doc.mail_port)
 			out_email.use_ssl = self.doc.use_ssl
 			try:
+				err_msg = "Login Id or Mail Password missing. Please enter and try again."
+				if not (self.doc.mail_login and self.doc.mail_password):
+					raise AttributeError, err_msg
 				out_email.login = self.doc.mail_login.encode('utf-8')
 				out_email.password =  self.doc.mail_password.encode('utf-8')
 			except AttributeError, e:
-				webnotes.msgprint('Login Id or Mail Password missing. Please enter and try again.')
-				webnotes.msgprint(e)
+				webnotes.msgprint(err_msg)
+				raise e
 			
 			try:
 				sess = out_email.smtp_connect()
+				
 				try:
 					sess.quit()
 				except:
 					pass
 			except _socket.error, e:
 				# Invalid mail server -- due to refusing connection
-				webnotes.msgprint('Invalid Outgoing Mail Server. Please rectify and try again.')
-				webnotes.msgprint(e)
+				webnotes.msgprint('Invalid Outgoing Mail Server or Port. Please rectify and try again.')
+				raise e
 			except smtplib.SMTPAuthenticationError, e:
 				webnotes.msgprint('Invalid Login Id or Mail Password. Please rectify and try again.')
+				raise e
 			except smtplib.SMTPException, e:
 				webnotes.msgprint('There is something wrong with your Outgoing Mail Settings. \
 				Please contact us at support@erpnext.com')
-				webnotes.msgprint(e)
+				raise e
 		
 
 	def validate_incoming(self):
@@ -81,11 +86,14 @@
 			inc_email.host = self.doc.support_host.encode('utf-8')
 			inc_email.use_ssl = self.doc.support_use_ssl
 			try:
+				err_msg = 'User Name or Support Password missing. Please enter and try again.'
+				if not (self.doc.support_username and self.doc.support_password):
+					raise AttributeError, err_msg
 				inc_email.username = self.doc.support_username.encode('utf-8')
 				inc_email.password = self.doc.support_password.encode('utf-8')
 			except AttributeError, e:
-				webnotes.msgprint('User Name or Support Password missing. Please enter and try again.')
-				webnotes.msgprint(e)
+				webnotes.msgprint(err_msg)
+				raise e
 
 			pop_mb = POP3Mailbox(inc_email)
 			
@@ -94,7 +102,7 @@
 			except _socket.error, e:
 				# Invalid mail server -- due to refusing connection
 				webnotes.msgprint('Invalid POP3 Mail Server. Please rectify and try again.')
-				webnotes.msgprint(e)
+				raise e
 			except poplib.error_proto, e:
 				webnotes.msgprint('Invalid User Name or Support Password. Please rectify and try again.')
-				webnotes.msgprint(e)
+				raise e
diff --git a/erpnext/setup/doctype/email_settings/email_settings.txt b/erpnext/setup/doctype/email_settings/email_settings.txt
index fdf1cf0..2772367 100644
--- a/erpnext/setup/doctype/email_settings/email_settings.txt
+++ b/erpnext/setup/doctype/email_settings/email_settings.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2012-03-27 14:36:20',
+		'creation': '2012-05-15 12:15:01',
 		'docstatus': 0,
-		'modified': '2012-03-27 14:36:20',
+		'modified': '2012-06-14 14:47:49',
 		'modified_by': u'Administrator',
 		'owner': u'harshada@webnotestech.com'
 	},
@@ -25,7 +25,7 @@
 		'name': '__common__',
 		'section_style': u'Simple',
 		'server_code_error': u' ',
-		'version': 35
+		'version': 1
 	},
 
 	# These values are common for all DocField
@@ -233,10 +233,20 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
+		'default': u'1',
+		'doctype': u'DocField',
+		'fieldname': u'send_autoreply',
+		'fieldtype': u'Check',
+		'label': u'Send Autoreply'
+	},
+
+	# DocField
+	{
+		'colour': u'White:FFF',
 		'description': u'Autoreply when a new mail is received',
 		'doctype': u'DocField',
 		'fieldname': u'support_autoreply',
 		'fieldtype': u'Text',
-		'label': u'Autoreply'
+		'label': u'Custom Autoreply Message'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/support/doctype/support_ticket/__init__.py b/erpnext/support/doctype/support_ticket/__init__.py
index d2dbe60..de596f9 100644
--- a/erpnext/support/doctype/support_ticket/__init__.py
+++ b/erpnext/support/doctype/support_ticket/__init__.py
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 import webnotes
-from webnotes.utils import cstr
+from webnotes.utils import cstr, cint
 
 from webnotes.utils.email_lib.receive import POP3Mailbox
 
@@ -113,7 +113,8 @@
 			update_feed(d, 'on_update')
 
 			# send auto reply
-			self.send_auto_reply(d)
+			if cint(self.email_settings.send_autoreply):
+				self.send_auto_reply(d)
 
 			webnotes.conn.commit()
 			
@@ -177,5 +178,6 @@
 		Gets new emails from support inbox and updates / creates Support Ticket records
 	"""
 	import webnotes
-	if webnotes.conn.get_value('Email Settings', None, 'sync_support_mails'):
+	from webnotes.utils import cint
+	if cint(webnotes.conn.get_value('Email Settings', None, 'sync_support_mails')):
 		SupportMailbox().get_messages()
\ No newline at end of file
diff --git a/erpnext/utilities/page/todo/todo.html b/erpnext/utilities/page/todo/todo.html
index 8c50218..d49fc23 100644
--- a/erpnext/utilities/page/todo/todo.html
+++ b/erpnext/utilities/page/todo/todo.html
@@ -1,18 +1,21 @@
-<div class="layout-wrapper" style="min-height: 300px; background-color: #FFFDC9">	
-	<a class="close" onclick="window.history.back();">&times;</a>
-	<h1>To Do</h1>
-	<br>
+<div class="layout-wrapper" style="min-height: 300px; background-color: #FFFDC9">
+	<div class="appframe-area"></div>
 	<div>
-		<div id="todo-list">
-			<h4>My List</h4><br>
-			<div class="todo-content"></div>
+		<a class="close" onclick="window.history.back();">&times;</a>
+		<h1>To Do</h1>
+		<br>
+		<div>
+			<div id="todo-list">
+				<h4>My List</h4><br>
+				<div class="todo-content"></div>
+			</div>
+			<div id="assigned-todo-list">
+				<h4>Assigned to others</h4><br>
+				<div class="todo-content"></div>
+			</div>
 		</div>
-		<div id="assigned-todo-list">
-			<h4>Assigned to others</h4><br>
-			<div class="todo-content"></div>
+		<div style="margin-top: 21px; clear: both">
+			<button id="add-todo" class="btn btn-small"><i class="icon-plus"></i> Add</button>
 		</div>
 	</div>
-	<div style="margin-top: 21px; clear: both">
-		<button id="add-todo" class="btn btn-small"><i class="icon-plus"></i> Add</button>
-	</div>
 </div>
\ No newline at end of file
diff --git a/erpnext/utilities/page/todo/todo.js b/erpnext/utilities/page/todo/todo.js
index 8cd8fc1..206becf 100644
--- a/erpnext/utilities/page/todo/todo.js
+++ b/erpnext/utilities/page/todo/todo.js
@@ -67,16 +67,18 @@
 		
 		todo.fullname = '';
 		if(todo.assigned_by) {
+			var assigned_by = wn.boot.user_info[todo.assigned_by]
 			todo.fullname = repl("[By %(fullname)s] &nbsp;", {
-				fullname: wn.boot.user_info[todo.assigned_by].fullname
+				fullname: (assigned_by ? assigned_by.fullname : todo.assigned_by),
 			});
 		}
 		
 		var parent_list = "#todo-list";
 		if(todo.owner !== user) {
 			parent_list = "#assigned-todo-list";
+			var owner = wn.boot.user_info[todo.owner];
 			todo.fullname = repl("[To %(fullname)s] &nbsp;", {
-				fullname: wn.boot.user_info[todo.owner].fullname
+				fullname: (owner ? owner.fullname : todo.owner),
 			});
 		}
 		parent_list += " div.todo-content";
@@ -197,4 +199,4 @@
 wn.pages.todo.onload = function() {
 	// load todos
 	erpnext.todo.refresh();
-}
+}
\ No newline at end of file
