Merge branch 'unicode' of github.com:webnotes/erpnext into unicode
diff --git a/erpnext/selling/doctype/lead/lead.txt b/erpnext/selling/doctype/lead/lead.txt
index 056fc16..9c74de9 100644
--- a/erpnext/selling/doctype/lead/lead.txt
+++ b/erpnext/selling/doctype/lead/lead.txt
@@ -3,11 +3,11 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2012-06-05 20:03:20',
-		'docstatus': 0,
-		'modified': '2012-08-03 10:49:22',
-		'modified_by': u'Administrator',
-		'owner': u'Administrator'
+		u'creation': '2012-06-05 20:03:20',
+		u'docstatus': 0,
+		u'modified': '2012-08-06 14:49:48',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
 	},
 
 	# These values are common for all DocType
@@ -16,10 +16,10 @@
 		'allow_trash': 1,
 		'colour': u'White:FFF',
 		'default_print_format': u'Standard',
-		'doctype': 'DocType',
+		u'doctype': u'DocType',
 		'document_type': u'Master',
 		'module': u'Selling',
-		'name': '__common__',
+		u'name': u'__common__',
 		'search_fields': u'lead_name,lead_owner,status',
 		'section_style': u'Tabbed',
 		'server_code_error': u' ',
@@ -31,8 +31,8 @@
 
 	# These values are common for all DocField
 	{
-		'doctype': u'DocField',
-		'name': '__common__',
+		u'doctype': u'DocField',
+		u'name': u'__common__',
 		'parent': u'Lead',
 		'parentfield': u'fields',
 		'parenttype': u'DocType'
@@ -40,8 +40,8 @@
 
 	# These values are common for all DocPerm
 	{
-		'doctype': u'DocPerm',
-		'name': '__common__',
+		u'doctype': u'DocPerm',
+		u'name': u'__common__',
 		'parent': u'Lead',
 		'parentfield': u'permissions',
 		'parenttype': u'DocType',
@@ -50,90 +50,14 @@
 
 	# DocType, Lead
 	{
-		'doctype': 'DocType',
-		'name': u'Lead'
-	},
-
-	# DocPerm
-	{
-		'amend': 0,
-		'cancel': 0,
-		'create': 0,
-		'doctype': u'DocPerm',
-		'permlevel': 1,
-		'role': u'Sales User',
-		'submit': 0,
-		'write': 0
-	},
-
-	# DocPerm
-	{
-		'amend': 0,
-		'cancel': 0,
-		'create': 0,
-		'doctype': u'DocPerm',
-		'permlevel': 1,
-		'role': u'Sales Manager',
-		'submit': 0,
-		'write': 0
-	},
-
-	# DocPerm
-	{
-		'amend': 0,
-		'cancel': 1,
-		'create': 1,
-		'doctype': u'DocPerm',
-		'permlevel': 0,
-		'role': u'Sales Manager',
-		'submit': 0,
-		'write': 1
-	},
-
-	# DocPerm
-	{
-		'amend': 0,
-		'cancel': 0,
-		'create': 1,
-		'doctype': u'DocPerm',
-		'permlevel': 0,
-		'role': u'Sales User',
-		'submit': 0,
-		'write': 1
-	},
-
-	# DocPerm
-	{
-		'doctype': u'DocPerm',
-		'permlevel': 1,
-		'role': u'All'
-	},
-
-	# DocPerm
-	{
-		'amend': 0,
-		'cancel': 0,
-		'create': 1,
-		'doctype': u'DocPerm',
-		'permlevel': 0,
-		'role': u'System Manager',
-		'submit': 0,
-		'write': 1
-	},
-
-	# DocPerm
-	{
-		'create': 1,
-		'doctype': u'DocPerm',
-		'permlevel': 0,
-		'role': u'Guest',
-		'write': 1
+		u'doctype': u'DocType',
+		u'name': u'Lead'
 	},
 
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'basic_info',
 		'fieldtype': u'Section Break',
 		'label': u'Basic Info',
@@ -143,7 +67,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'column_break0',
 		'fieldtype': u'Column Break',
 		'oldfieldtype': u'Column Break',
@@ -155,7 +79,7 @@
 	{
 		'colour': u'White:FFF',
 		'description': u'To manage multiple series please go to Setup > Manage Series',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'naming_series',
 		'fieldtype': u'Select',
 		'label': u'Naming Series',
@@ -170,7 +94,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'lead_name',
 		'fieldtype': u'Data',
 		'in_filter': 1,
@@ -186,7 +110,7 @@
 	{
 		'colour': u'White:FFF',
 		'description': u'Name of organization from where lead has come',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'company_name',
 		'fieldtype': u'Data',
 		'in_filter': 1,
@@ -202,7 +126,8 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		'description': u'Source of the lead. If via a campaign, select "Campaign"',
+		u'doctype': u'DocField',
 		'fieldname': u'source',
 		'fieldtype': u'Select',
 		'in_filter': 1,
@@ -210,7 +135,7 @@
 		'no_copy': 1,
 		'oldfieldname': u'source',
 		'oldfieldtype': u'Select',
-		'options': u"\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign\nWebsite",
+		'options': u'\nAdvertisement\nBlog\nCampaign\nCall\nCustomer\nExhibition\nSupplier\nWebsite',
 		'permlevel': 0,
 		'reqd': 1,
 		'search_index': 0,
@@ -221,7 +146,8 @@
 	{
 		'colour': u'White:FFF',
 		'depends_on': u"eval:doc.source == 'Existing Customer'",
-		'doctype': u'DocField',
+		'description': u'Source of th',
+		u'doctype': u'DocField',
 		'fieldname': u'customer',
 		'fieldtype': u'Link',
 		'hidden': 0,
@@ -237,7 +163,7 @@
 		'colour': u'White:FFF',
 		'depends_on': u"eval:doc.source == 'Campaign'",
 		'description': u'Enter campaign name if the source of lead is campaign.',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'campaign_name',
 		'fieldtype': u'Link',
 		'hidden': 0,
@@ -250,7 +176,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'column_break1',
 		'fieldtype': u'Column Break',
 		'permlevel': 0,
@@ -261,7 +187,7 @@
 	{
 		'colour': u'White:FFF',
 		'default': u'Open',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'status',
 		'fieldtype': u'Select',
 		'in_filter': 1,
@@ -279,7 +205,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'type',
 		'fieldtype': u'Select',
 		'in_filter': 1,
@@ -293,7 +219,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'remark',
 		'fieldtype': u'Small Text',
 		'label': u'Remark',
@@ -304,7 +230,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'communication_history',
 		'fieldtype': u'Section Break',
 		'label': u'Communication History',
@@ -315,7 +241,7 @@
 	{
 		'allow_on_submit': 0,
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'communication_html',
 		'fieldtype': u'HTML',
 		'label': u'Communication HTML',
@@ -326,7 +252,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'contact_info',
 		'fieldtype': u'Section Break',
 		'label': u'Contact Info',
@@ -337,7 +263,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'phone',
 		'fieldtype': u'Data',
 		'label': u'Phone',
@@ -349,7 +275,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'mobile_no',
 		'fieldtype': u'Data',
 		'label': u'Mobile No.',
@@ -360,7 +286,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'email_id',
 		'fieldtype': u'Data',
 		'label': u'Email Id',
@@ -372,7 +298,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'fax',
 		'fieldtype': u'Data',
 		'label': u'Fax',
@@ -383,7 +309,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'website',
 		'fieldtype': u'Data',
 		'label': u'Website',
@@ -396,7 +322,7 @@
 	{
 		'colour': u'White:FFF',
 		'description': u'<a href="javascript:cur_frm.cscript.TerritoryHelp();">To manage Territory, click here</a>',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'territory',
 		'fieldtype': u'Link',
 		'label': u'Territory',
@@ -409,7 +335,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'column_break2',
 		'fieldtype': u'Column Break',
 		'permlevel': 0
@@ -417,7 +343,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'address_line1',
 		'fieldtype': u'Data',
 		'label': u'Address Line 1',
@@ -430,7 +356,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'address_line2',
 		'fieldtype': u'Data',
 		'label': u'Address Line 2',
@@ -442,7 +368,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'city',
 		'fieldtype': u'Data',
 		'label': u'City',
@@ -455,7 +381,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'country',
 		'fieldtype': u'Select',
 		'label': u'Country',
@@ -471,7 +397,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'state',
 		'fieldtype': u'Data',
 		'label': u'State',
@@ -484,7 +410,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'pincode',
 		'fieldtype': u'Data',
 		'label': u'Pin Code',
@@ -497,7 +423,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'more_info',
 		'fieldtype': u'Section Break',
 		'label': u'More Info',
@@ -508,7 +434,7 @@
 	# DocField
 	{
 		'default': u'__user',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'lead_owner',
 		'fieldtype': u'Link',
 		'in_filter': 1,
@@ -522,7 +448,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'market_segment',
 		'fieldtype': u'Select',
 		'hidden': 0,
@@ -538,7 +464,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'industry',
 		'fieldtype': u'Link',
 		'label': u'Industry',
@@ -550,7 +476,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'request_type',
 		'fieldtype': u'Select',
 		'label': u'Request Type',
@@ -562,7 +488,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'fiscal_year',
 		'fieldtype': u'Select',
 		'hidden': 1,
@@ -576,7 +502,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'column_break3',
 		'fieldtype': u'Column Break',
 		'oldfieldtype': u'Column Break',
@@ -588,7 +514,7 @@
 	{
 		'allow_on_submit': 0,
 		'depends_on': u"eval:doc.status == 'Lead Lost'",
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'order_lost_reason',
 		'fieldtype': u'Link',
 		'hidden': 0,
@@ -604,7 +530,7 @@
 		'allow_on_submit': 0,
 		'colour': u'White:FFF',
 		'description': u'Your sales person who will contact the lead in future',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'contact_by',
 		'fieldtype': u'Link',
 		'hidden': 0,
@@ -624,7 +550,7 @@
 		'allow_on_submit': 0,
 		'colour': u'White:FFF',
 		'description': u'Your sales person will get a reminder on this date to contact the lead',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'contact_date',
 		'fieldtype': u'Date',
 		'in_filter': 1,
@@ -642,7 +568,7 @@
 		'colour': u'White:FFF',
 		'depends_on': u'eval:!doc.__islocal',
 		'description': u'Date on which the lead was last contacted',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'last_contact_date',
 		'fieldtype': u'Date',
 		'label': u'Last Contact Date',
@@ -655,7 +581,8 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		'colour': u'White:FFF',
+		u'doctype': u'DocField',
 		'fieldname': u'company',
 		'fieldtype': u'Link',
 		'label': u'Company',
@@ -663,12 +590,12 @@
 		'oldfieldtype': u'Link',
 		'options': u'Company',
 		'permlevel': 0,
-		'reqd': 1
+		'reqd': 0
 	},
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'trash_reason',
 		'fieldtype': u'Small Text',
 		'label': u'Trash Reason',
@@ -681,7 +608,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'unsubscribed',
 		'fieldtype': u'Check',
 		'label': u'Unsubscribed',
@@ -690,10 +617,86 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'blog_subscriber',
 		'fieldtype': u'Check',
 		'label': u'Blog Subscriber',
 		'permlevel': 0
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
+		u'doctype': u'DocPerm',
+		'permlevel': 1,
+		'role': u'Sales User',
+		'submit': 0,
+		'write': 0
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
+		u'doctype': u'DocPerm',
+		'permlevel': 1,
+		'role': u'Sales Manager',
+		'submit': 0,
+		'write': 0
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 1,
+		'create': 1,
+		u'doctype': u'DocPerm',
+		'permlevel': 0,
+		'role': u'Sales Manager',
+		'submit': 0,
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 1,
+		u'doctype': u'DocPerm',
+		'permlevel': 0,
+		'role': u'Sales User',
+		'submit': 0,
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		u'doctype': u'DocPerm',
+		'permlevel': 1,
+		'role': u'All'
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 1,
+		u'doctype': u'DocPerm',
+		'permlevel': 0,
+		'role': u'System Manager',
+		'submit': 0,
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'create': 1,
+		u'doctype': u'DocPerm',
+		'permlevel': 0,
+		'role': u'Guest',
+		'write': 1
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/startup/schedule_handlers.py b/erpnext/startup/schedule_handlers.py
index 424482b..f3eb05a 100644
--- a/erpnext/startup/schedule_handlers.py
+++ b/erpnext/startup/schedule_handlers.py
@@ -28,10 +28,6 @@
 	# pull emails
 	from support.doctype.support_ticket import get_support_mails
 	run_fn(get_support_mails)
-
-	# run recurring invoices
-	from accounts.doctype.gl_control.gl_control import manage_recurring_invoices
-	run_fn(manage_recurring_invoices)
 	
 	# bulk email
 	from webnotes.utils.email_lib.bulk import flush
@@ -42,6 +38,10 @@
 	from setup.doctype.email_digest.email_digest import send
 	run_fn(send)
 
+	# run recurring invoices
+	from accounts.doctype.gl_control.gl_control import manage_recurring_invoices
+	run_fn(manage_recurring_invoices)
+
 	# send bulk emails
 	from webnotes.utils.email_lib.bulk import clear_outbox
 	run_fn(clear_outbox)
diff --git a/erpnext/startup/startup.js b/erpnext/startup/startup.js
index 6010464..67a7486 100644
--- a/erpnext/startup/startup.js
+++ b/erpnext/startup/startup.js
@@ -100,10 +100,6 @@
 		if(wn.control_panel.custom_startup_code)
 			eval(wn.control_panel.custom_startup_code);		
 	}
-
-		
-	$('body').append('<a class="erpnext-logo" title="Powered by ERPNext" \
-		href="http://erpnext.com" target="_blank"></a>')
 }
 
 
diff --git a/erpnext/website/blog.py b/erpnext/website/blog.py
index 1ebea29..f0e9b71 100644
--- a/erpnext/website/blog.py
+++ b/erpnext/website/blog.py
@@ -17,7 +17,8 @@
 		select
 			cache.name as name, cache.html as content,
 			blog.owner as owner, blog.creation as published,
-			blog.title as title
+			blog.title as title, (select count(name) from `tabComment` where
+				comment_doctype='Blog' and comment_docname=blog.name) as comments
 		from `tabWeb Cache` cache, `tabBlog` blog
 		where cache.doc_type = 'Blog' and blog.page_name = cache.name
 		order by published desc, name asc"""
@@ -104,7 +105,24 @@
 	
 	# get html of comment row
 	comment_html = website.web_cache.build_html(template_args)
-
+	
+	# notify commentors 
+	commentors = [d[0] for d in webnotes.conn.sql("""select comment_by from tabComment where
+		comment_doctype='Blog' and comment_docname=%s and
+		ifnull(unsubscribed, 0)=0""", args.get('comment_docname'))]
+	
+	blog = webnotes.conn.sql("""select * from tabBlog where name=%s""", 
+		args.get('comment_docname'), as_dict=1)[0]
+	
+	from webnotes.utils.email_lib.bulk import send
+	send(recipients=commentors + [blog['owner']], 
+		doctype='Comment', 
+		email_field='comment_by', 
+		first_name_field="comment_by_fullname",
+		last_name_field="NA", 
+		subject='New Comment on Blog: ' + blog['title'], 
+		message='<p>%(comment)s</p><p>By %(comment_by_fullname)s</p>' % args)
+	
 	return comment_html
 
 @webnotes.whitelist(allow_guest=True)
@@ -119,7 +137,8 @@
 		lead = Document('Lead', name[0][0])
 	else:
 		lead = Document('Lead')
-		
+	
+	if not lead.source: lead.source = 'Blog'
 	lead.unsubscribed = 0
 	lead.blog_subscriber = 1
 	lead.lead_name = full_name
diff --git a/erpnext/website/templates/js/blog.js b/erpnext/website/templates/js/blog.js
index 78dd3b7..76b9fb6 100644
--- a/erpnext/website/templates/js/blog.js
+++ b/erpnext/website/templates/js/blog.js
@@ -22,10 +22,19 @@
 		hide_refresh: true,
 		no_toolbar: true,
 		render_row: function(parent, data) {
+			if(!data.comments) {
+				data.comment_text = 'No comments yet.'
+			} else if (data.comments=1) {
+				data.comment_text = '1 comment.'
+			} else {
+				data.comment_text = data.comments + ' comments.'
+			} 
+			
 			if(data.content && data.content.length==1000) {
 				data.content += repl('... <a href="%(name)s.html">(read on)</a>', data);
 			}
 			parent.innerHTML = repl('<h2><a href="%(name)s.html">%(title)s</a></h2>\
+				<div class="help">%(comment_text)s</div>\
 				%(content)s<br /><br />', data);
 		},
 		page_length: 10
diff --git a/public/js/all-app.js b/public/js/all-app.js
index bfd16e9..3f013bc 100644
--- a/public/js/all-app.js
+++ b/public/js/all-app.js
@@ -2265,9 +2265,7 @@
      This ERPNext subscription <b>has expired</b>. \
     </div>',{expiry_string:expiry_string}));}}
 erpnext.set_about();if(wn.control_panel.custom_startup_code)
-eval(wn.control_panel.custom_startup_code);}
-$('body').append('<a class="erpnext-logo" title="Powered by ERPNext" \
-  href="http://erpnext.com" target="_blank"></a>')}
+eval(wn.control_panel.custom_startup_code);}}
 erpnext.update_messages=function(reset){if(inList(['Guest'],user)||!wn.session_alive){return;}
 if(!reset){var set_messages=function(r){if(!r.exc){erpnext.toolbar.set_new_comments(r.message.unread_messages);var show_in_circle=function(parent_id,msg){var parent=$('#'+parent_id);if(parent){if(msg){parent.find('span:first').text(msg);parent.toggle(true);}else{parent.toggle(false);}}}
 show_in_circle('unread_messages',r.message.unread_messages.length);show_in_circle('open_support_tickets',r.message.open_support_tickets);show_in_circle('things_todo',r.message.things_todo);show_in_circle('todays_events',r.message.todays_events);show_in_circle('open_tasks',r.message.open_tasks);show_in_circle('unanswered_questions',r.message.unanswered_questions);}else{clearInterval(wn.updates.id);}}
diff --git a/public/js/all-web.js b/public/js/all-web.js
index 979f8e9..e231046 100644
--- a/public/js/all-web.js
+++ b/public/js/all-web.js
@@ -725,9 +725,7 @@
      This ERPNext subscription <b>has expired</b>. \
     </div>',{expiry_string:expiry_string}));}}
 erpnext.set_about();if(wn.control_panel.custom_startup_code)
-eval(wn.control_panel.custom_startup_code);}
-$('body').append('<a class="erpnext-logo" title="Powered by ERPNext" \
-  href="http://erpnext.com" target="_blank"></a>')}
+eval(wn.control_panel.custom_startup_code);}}
 erpnext.update_messages=function(reset){if(inList(['Guest'],user)||!wn.session_alive){return;}
 if(!reset){var set_messages=function(r){if(!r.exc){erpnext.toolbar.set_new_comments(r.message.unread_messages);var show_in_circle=function(parent_id,msg){var parent=$('#'+parent_id);if(parent){if(msg){parent.find('span:first').text(msg);parent.toggle(true);}else{parent.toggle(false);}}}
 show_in_circle('unread_messages',r.message.unread_messages.length);show_in_circle('open_support_tickets',r.message.open_support_tickets);show_in_circle('things_todo',r.message.things_todo);show_in_circle('todays_events',r.message.todays_events);show_in_circle('open_tasks',r.message.open_tasks);show_in_circle('unanswered_questions',r.message.unanswered_questions);}else{clearInterval(wn.updates.id);}}