diff --git a/accounts/doctype/bank_reconciliation/bank_reconciliation.py b/accounts/doctype/bank_reconciliation/bank_reconciliation.py
index def2525..f912779 100644
--- a/accounts/doctype/bank_reconciliation/bank_reconciliation.py
+++ b/accounts/doctype/bank_reconciliation/bank_reconciliation.py
@@ -62,12 +62,14 @@
 	def update_details(self):
 		vouchers = []
 		for d in getlist(self.doclist, 'entries'):
-			if d.clearance_date and d.cheque_date:
-				if getdate(d.clearance_date) < getdate(d.cheque_date):
+			if d.clearance_date:
+				if d.cheque_date and getdate(d.clearance_date) < getdate(d.cheque_date):
 					msgprint("Clearance Date can not be before Cheque Date (Row #%s)" % 
 						d.idx, raise_exception=1)
 					
-				sql("update `tabJournal Voucher` set clearance_date = %s, modified = %s where name=%s", (d.clearance_date, nowdate(), d.voucher_id))
+				sql("""update `tabJournal Voucher` 
+					set clearance_date = %s, modified = %s where name=%s""",
+					(d.clearance_date, nowdate(), d.voucher_id))
 				vouchers.append(d.voucher_id)
 
 		if vouchers:
diff --git a/accounts/doctype/gl_control/gl_control.py b/accounts/doctype/gl_control/gl_control.py
index 005567e..f0c76eb 100644
--- a/accounts/doctype/gl_control/gl_control.py
+++ b/accounts/doctype/gl_control/gl_control.py
@@ -438,14 +438,17 @@
 		
 		
 def notify_errors(inv, owner):
+	import webnotes
+	import website
+		
 	exception_msg = """
 		Dear User,
 
-		An error occured while creating recurring invoice from %s.
+		An error occured while creating recurring invoice from %s (at %s).
 
 		May be there are some invalid email ids mentioned in the invoice.
 
-		To stop sending repetitive error notifications from the system, we have unchecked \
+		To stop sending repetitive error notifications from the system, we have unchecked
 		"Convert into Recurring" field in the invoice %s.
 
 
@@ -458,11 +461,15 @@
 		Regards,
 		Administrator
 		
-	""" % (inv, inv)
+	""" % (inv, website.get_site_address(), inv)
 	subj = "[Urgent] Error while creating recurring invoice from %s" % inv
-	import webnotes.utils
-	recipients = webnotes.utils.get_system_managers_list()
-	recipients += ['support@erpnext.com', owner]
+
+	from webnotes.profile import get_system_managers
+	recipients = get_system_managers()
+	owner_email = webnotes.conn.get_value("Profile", owner, "email")
+	if not owner_email in recipients:
+		recipients.append(owner_email)
+
 	assign_task_to_owner(inv, exception_msg, recipients)
 	sendmail(recipients, subject=subj, msg = exception_msg)
 	
diff --git a/accounts/doctype/journal_voucher/journal_voucher.txt b/accounts/doctype/journal_voucher/journal_voucher.txt
index be102a0..7c1fa78 100644
--- a/accounts/doctype/journal_voucher/journal_voucher.txt
+++ b/accounts/doctype/journal_voucher/journal_voucher.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		u'creation': '2012-05-04 10:21:24',
+		u'creation': '2012-10-02 18:51:46',
 		u'docstatus': 0,
-		u'modified': '2012-10-02 16:43:51',
+		u'modified': '2012-10-15 12:38:42',
 		u'modified_by': u'Administrator',
 		u'owner': u'Administrator'
 	},
@@ -235,11 +235,13 @@
 
 	# DocField
 	{
+		'colour': u'White:FFF',
+		'description': u'eg. Cheque Number',
 		u'doctype': u'DocField',
 		'fieldname': u'cheque_no',
 		'fieldtype': u'Data',
 		'in_filter': 1,
-		'label': u'Cheque No',
+		'label': u'Reference Number',
 		'no_copy': 1,
 		'oldfieldname': u'cheque_no',
 		'oldfieldtype': u'Data',
@@ -252,7 +254,7 @@
 		u'doctype': u'DocField',
 		'fieldname': u'cheque_date',
 		'fieldtype': u'Date',
-		'label': u'Cheque Date',
+		'label': u'Reference Date',
 		'no_copy': 1,
 		'oldfieldname': u'cheque_date',
 		'oldfieldtype': u'Date',
@@ -745,6 +747,30 @@
 
 	# DocPerm
 	{
+		'amend': 1,
+		'cancel': 1,
+		'create': 1,
+		u'doctype': u'DocPerm',
+		'permlevel': 0,
+		'role': u'Accounts User',
+		'submit': 1,
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
+		u'doctype': u'DocPerm',
+		'permlevel': 1,
+		'role': u'Accounts User',
+		'submit': 0,
+		'write': 0
+	},
+
+	# DocPerm
+	{
 		'amend': 0,
 		'cancel': 0,
 		'create': 0,
@@ -769,14 +795,14 @@
 
 	# DocPerm
 	{
-		'amend': 1,
-		'cancel': 1,
-		'create': 1,
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
 		u'doctype': u'DocPerm',
 		'permlevel': 0,
-		'role': u'Accounts User',
-		'submit': 1,
-		'write': 1
+		'role': u'Auditor',
+		'submit': 0,
+		'write': 0
 	},
 
 	# DocPerm
@@ -786,7 +812,7 @@
 		'create': 0,
 		u'doctype': u'DocPerm',
 		'permlevel': 1,
-		'role': u'Accounts User',
+		'role': u'Auditor',
 		'submit': 0,
 		'write': 0
 	}
diff --git a/home/doctype/feed/feed.txt b/home/doctype/feed/feed.txt
index 2c33fcf..57471bd 100644
--- a/home/doctype/feed/feed.txt
+++ b/home/doctype/feed/feed.txt
@@ -3,11 +3,11 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2012-03-27 14:35:52',
-		'docstatus': 0,
-		'modified': '2012-03-27 14:35:52',
-		'modified_by': u'Administrator',
-		'owner': u'Administrator'
+		u'creation': '2012-07-03 13:29:42',
+		u'docstatus': 0,
+		u'modified': '2012-10-15 15:23:02',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
 	},
 
 	# These values are common for all DocType
@@ -15,33 +15,45 @@
 		'autoname': u'_FEED.#####',
 		'colour': u'White:FFF',
 		'default_print_format': u'Standard',
-		'doctype': 'DocType',
+		u'doctype': u'DocType',
 		'module': u'Home',
-		'name': '__common__',
+		u'name': u'__common__',
 		'section_style': u'Simple',
 		'show_in_menu': 0,
-		'version': 3
+		'version': 1
 	},
 
 	# These values are common for all DocField
 	{
-		'doctype': u'DocField',
-		'name': '__common__',
+		u'doctype': u'DocField',
+		u'name': u'__common__',
 		'parent': u'Feed',
 		'parentfield': u'fields',
 		'parenttype': u'DocType',
 		'permlevel': 0
 	},
 
+	# These values are common for all DocPerm
+	{
+		u'doctype': u'DocPerm',
+		u'name': u'__common__',
+		'parent': u'Feed',
+		'parentfield': u'permissions',
+		'parenttype': u'DocType',
+		'permlevel': 0,
+		'read': 1,
+		'role': u'System Manager'
+	},
+
 	# DocType, Feed
 	{
-		'doctype': 'DocType',
-		'name': u'Feed'
+		u'doctype': u'DocType',
+		u'name': u'Feed'
 	},
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'feed_type',
 		'fieldtype': u'Select',
 		'label': u'Feed Type'
@@ -49,7 +61,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'doc_type',
 		'fieldtype': u'Data',
 		'label': u'Doc Type'
@@ -57,7 +69,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'doc_name',
 		'fieldtype': u'Data',
 		'label': u'Doc Name'
@@ -65,7 +77,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'subject',
 		'fieldtype': u'Data',
 		'label': u'Subject'
@@ -73,7 +85,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'color',
 		'fieldtype': u'Data',
 		'label': u'Color'
@@ -81,9 +93,14 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'full_name',
 		'fieldtype': u'Data',
 		'label': u'Full Name'
+	},
+
+	# DocPerm
+	{
+		u'doctype': u'DocPerm'
 	}
 ]
\ No newline at end of file
diff --git a/home/page/activity/activity.js b/home/page/activity/activity.js
index 47900ec..807a5d0 100644
--- a/home/page/activity/activity.js
+++ b/home/page/activity/activity.js
@@ -1,6 +1,7 @@
 wn.pages['activity'].onload = function(wrapper) {
 	wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.layout-appframe'));
 	wrapper.appframe.title('Activity');
+	
 	var list = new wn.ui.Listing({
 		appframe: wrapper.appframe,
 		method: 'home.page.activity.activity.get_feed',
@@ -10,6 +11,13 @@
 		}
 	});
 	list.run();
+	
+	// Build Report Button
+	if(wn.boot.profile.can_get_report.indexOf("Feed")!=-1) {
+		wrapper.appframe.add_button('Build Report', function() {
+			wn.set_route('Report2', "Feed");
+		}, 'icon-th')
+	}
 }
 
 erpnext.last_feed_date = false;
diff --git a/setup/doctype/sales_partner/sales_partner.py b/setup/doctype/sales_partner/sales_partner.py
index 1754b4e..75d998a 100644
--- a/setup/doctype/sales_partner/sales_partner.py
+++ b/setup/doctype/sales_partner/sales_partner.py
@@ -38,7 +38,6 @@
   def __init__(self, doc, doclist=[]):
     self.doc = doc
     self.doclist = doclist
-    self.prefix = is_testing and 'test' or 'tab'
 
   def validate(self):
     import string
diff --git a/setup/doctype/setup_control/setup_control.py b/setup/doctype/setup_control/setup_control.py
index b5207c2..a71fde9 100644
--- a/setup/doctype/setup_control/setup_control.py
+++ b/setup/doctype/setup_control/setup_control.py
@@ -140,8 +140,8 @@
 		import webnotes
 		companies_list = webnotes.conn.sql("SELECT company_name FROM `tabCompany`", as_list=1)
 
-		import webnotes.utils
-		system_managers = webnotes.utils.get_system_managers_list()
+		from webnotes.profile import get_system_managers
+		system_managers = get_system_managers()
 		if not system_managers: return
 		
 		from webnotes.model.doc import Document
diff --git a/startup/event_handlers.py b/startup/event_handlers.py
index 472d5d1..573bcc6 100644
--- a/startup/event_handlers.py
+++ b/startup/event_handlers.py
@@ -43,7 +43,7 @@
 		from webnotes.utils import nowtime
 		from webnotes.profile import get_user_fullname
 		home.make_feed('Login', 'Profile', login_manager.user, login_manager.user,
-			'%s logged in at %s' % (get_user_fullname, nowtime()), 
+			'%s logged in at %s' % (get_user_fullname(login_manager.user), nowtime()), 
 			login_manager.user=='Administrator' and '#8CA2B3' or '#1B750D')		
 
 
diff --git a/website/__init__.py b/website/__init__.py
index dbf65dd..0796fb4 100644
--- a/website/__init__.py
+++ b/website/__init__.py
@@ -23,4 +23,16 @@
 		webnotes.msgprint('Please give us your email id so that we can write back to you', raise_exception=True)
 	
 	d.save()
-	webnotes.msgprint('Thank you!')
\ No newline at end of file
+	webnotes.msgprint('Thank you!')
+	
+def get_site_address():
+	from webnotes.utils import get_request_site_address
+	url = get_request_site_address()
+
+	if not url or url=='http://localhost':
+		new_url = webnotes.conn.get_value('Website Settings', 'Website Settings',
+			'subdomain')
+		if new_url:
+			url = "http://" + new_url
+			
+	return url
\ No newline at end of file
