Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/page/accounts_browser/accounts_browser.js b/accounts/page/accounts_browser/accounts_browser.js
index 78776ce..6a6d97e 100644
--- a/accounts/page/accounts_browser/accounts_browser.js
+++ b/accounts/page/accounts_browser/accounts_browser.js
@@ -22,7 +22,8 @@
 
 pscript['onload_Accounts Browser'] = function(wrapper){
 	wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.appframe-area'));
-	wrapper.appframe.add_module_tab("Accounts");
+	wrapper.appframe.add_home_breadcrumb()
+	wrapper.appframe.add_module_breadcrumb("Accounts")
 	
 	if (wn.boot.profile.can_create.indexOf("Company") !== -1) {
 		wrapper.appframe.add_button('New Company', function() { newdoc('Company'); },
diff --git a/accounts/page/financial_analytics/financial_analytics.js b/accounts/page/financial_analytics/financial_analytics.js
index cf96258..f0bafdb 100644
--- a/accounts/page/financial_analytics/financial_analytics.js
+++ b/accounts/page/financial_analytics/financial_analytics.js
@@ -24,7 +24,9 @@
 	});
 	erpnext.trial_balance = new erpnext.FinancialAnalytics(wrapper, 'Financial Analytics');
 	
-	wrapper.appframe.add_module_tab("Accounts");
+	wrapper.appframe.add_home_breadcrumb()
+	wrapper.appframe.add_module_breadcrumb("Accounts")
+	wrapper.appframe.add_breadcrumb("icon-bar-chart")
 }
 
 erpnext.FinancialAnalytics = erpnext.AccountTreeGrid.extend({
diff --git a/accounts/page/general_ledger/general_ledger.js b/accounts/page/general_ledger/general_ledger.js
index d163021..cee749f 100644
--- a/accounts/page/general_ledger/general_ledger.js
+++ b/accounts/page/general_ledger/general_ledger.js
@@ -23,7 +23,9 @@
 	
 	erpnext.general_ledger = new erpnext.GeneralLedger(wrapper);
 	
-	wrapper.appframe.add_module_tab("Accounts");
+	wrapper.appframe.add_home_breadcrumb()
+	wrapper.appframe.add_module_breadcrumb("Accounts")
+	wrapper.appframe.add_breadcrumb("icon-bar-chart")
 
 }
 
diff --git a/accounts/page/trial_balance/trial_balance.js b/accounts/page/trial_balance/trial_balance.js
index 3d05d49..9ea7666 100644
--- a/accounts/page/trial_balance/trial_balance.js
+++ b/accounts/page/trial_balance/trial_balance.js
@@ -56,5 +56,7 @@
 	})
 	erpnext.trial_balance = new TrialBalance(wrapper, 'Trial Balance');
 	
-	wrapper.appframe.add_module_tab("Accounts");
+	wrapper.appframe.add_home_breadcrumb()
+	wrapper.appframe.add_module_breadcrumb("Accounts")
+	wrapper.appframe.add_breadcrumb("icon-bar-chart")
 }
\ No newline at end of file
diff --git a/buying/page/purchase_analytics/purchase_analytics.js b/buying/page/purchase_analytics/purchase_analytics.js
index d1af656..6919ad3 100644
--- a/buying/page/purchase_analytics/purchase_analytics.js
+++ b/buying/page/purchase_analytics/purchase_analytics.js
@@ -23,7 +23,9 @@
 	
 	new erpnext.PurchaseAnalytics(wrapper);
 	
-	wrapper.appframe.add_module_tab("Buying");
+	wrapper.appframe.add_home_breadcrumb()
+	wrapper.appframe.add_module_breadcrumb("Buying")
+	wrapper.appframe.add_breadcrumb("icon-bar-chart")
 }
 
 erpnext.PurchaseAnalytics = wn.views.TreeGridReport.extend({
diff --git a/home/page/attributions/attributions.css b/home/page/attributions/attributions.css
index e69de29..68ec516 100644
--- a/home/page/attributions/attributions.css
+++ b/home/page/attributions/attributions.css
@@ -0,0 +1,6 @@
+.layout-attributions table {
+	width: 70%;
+}
+.layout-attributions td:first-child {
+	width: 30%;
+}
\ No newline at end of file
diff --git a/home/page/attributions/attributions.html b/home/page/attributions/attributions.html
index ab879b7..37ee25b 100644
--- a/home/page/attributions/attributions.html
+++ b/home/page/attributions/attributions.html
@@ -1,83 +1,99 @@
-<div class="layout-wrapper">
-	<a class="close" onclick="window.history.back();">&times;</a>
-	<h1>Attributions</h1>
+<div class="layout-wrapper layout-wrapper-appframe layout-attributions">
+	<div class="layout-appframe"></div>
+	<div class="layout-main">
+	<h3>ERPNext is made using these Awesome Open Source Projects <i class="icon-heart" style="color: red"></i></h3>
 	<hr>
-	<p><b>Source Code:</b> <a href="https://github.com/webnotes/erpnext">
-				https://github.com/webnotes/erpnext</a></p>
-	<p><b>Website:</b> <a href="https://erpnext.com">
-				https://erpnext.com</a></p>
+	<table class="table table-bordered table-striped">
+		<tbody>
+		<tr>
+			<td><a href="https://github.com/webnotes/wnframework">wnframework</a></td>
+			<td>The full stack Python + Javascript web application framework on which ERPNext is built.</td>
+		</tr>
+		<tr>
+			<td><a href="https://github.com/webnotes/erpnext">ERPNext</a></td>
+			<td>Web based, Open Source ERP.</td>
+		</tr>
+		<tr>
+			<td><a href="http://en.wikipedia.org/wiki/Linux">Linux Operating System</a></td>
+			<td>The operating system that brought a revolution in Open Source software.</td>
+		</tr>
+		<tr>
+			<td><a href="http://www.mysql.com/">MySQL Database</a></td>
+			<td>The world's most popular Open Source Database.</td>
+		</tr>
+		<tr>
+			<td><a href="http://httpd.apache.org">Apache HTTPD web server</a></td>
+			<td>The Number One HTTP Server On The Internet.</td>
+		</tr>
+		<tr>
+			<td><a href="http://python.org/">Python Programming Language</a></td>
+			<td>The "batteries included" language that lets you write elegant code, quickly.<br><br>Python Libraries:
+			<ul>
+				<li>MySQLdb
+				<li>pytz
+				<li>jinja2
+				<li>markdown2
+				<li>dateutil
+				<li>termcolor
+				<li>python-memcached
+			</ul>
+			</td>
+		</tr>
+		<tr>
+			<td><a href="http://git-scm.com/">Git - Source Code Management</a></td>
+			<td>Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.<br><br>
+				Kindly hosted on the web by <a href="https://github.com">GitHub</a>: The service that makes it easier for individuals and teams to write better code, faster. </td>
+		</tr>
+		<tr>
+			<td><a href="http://jquery.com/">JQuery Javascript Libary</a></td>
+			<td>The write less, do more Javascript Library.</td>
+		</tr>
+		<tr>
+			<td><a href="http://jqueryui.com/">JQuery UI - User Interface Library</a></td>
+			<td>A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.</td>
+		</tr>
+		<tr>
+			<td><a href="http://twitter.github.com/bootstrap/index.html">Bootstrap CSS Framework</a></td>
+			<td>Sleek, intuitive, and powerful front-end framework for faster and easier web development.</td>
+		</tr>
+		<tr>
+			<td><a href="http://fortawesome.github.com/Font-Awesome/">Font Awesome - Icons</a></td>
+			<td>The iconic font designed for use with Twitter Bootstrap.</td>
+		</tr>
+		<tr>
+			<td><a href="http://www.tinymce.com/">TinyMCE Rich Text Editor</a></td>
+			<td>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL by Moxiecode Systems AB.</td>
+		</tr>
+		<tr>
+			<td><a href="https://github.com/mleibman/SlickGrid">SlickGrid</a></td>
+			<td>A lightning fast JavaScript grid/spreadsheet.</td>
+		</tr>		
+		<tr>
+			<td><a href="http://www.flotcharts.org/">Flot Charting Library</a></td>
+			<td>Attractive JavaScript plotting for jQuery.</td>
+		</tr>		
+		<tr>
+			<td><a href="http://ace.ajax.org/">Ace Code Editor</a></td>
+			<td>High Performance Code Editor for the web.</td>
+		</tr>
+		<tr>
+			<td><a href="http://taitems.github.com/jQuery.Gantt/">JQuery.Gantt - Gantt Charts</a></td>
+			<td>Draw Gantt charts with the famous jQuery ease of development.</td>
+		</tr>
+		<tr>
+			<td><a href="http://jscolor.com/">JSColor - Color Picker</a></td>
+			<td>HTML/Javascript Color Picker.</td>
+		</tr>
+		<tr>
+			<td><a href="https://github.com/dcneiner/Downloadify">Downloadify - Flash Download Widget</a></td>
+			<td>A tiny javascript + Flash library that enables the creation and download of text files without server interaction.</td>
+		</tr>				
+		</tbody>
+	</table>
+	
 	<hr>
-	<p class="help">ERPNext is an Open Source project and is possible because of the work of
-		thousands of software developers, companies and designers who have contributed their
-		work to the community. We have tried to list as many projects as possible that are
-		used by ERPNext, but this list may not be exhaustive.</p>
-
-
-	<h4>Server</h4>
-	<ul>
-		<li>Linux (GNU)</li>
-		<li>Apache HTTPD server (web server)</li>
-		<li>MySQL (database, Percona build)</li>
-		<li>Git (source code control via Github)</li>
-	</ul>
-		
-	<h4>Programming Languages & Libraries</h4>
-	<ul>
-		<li><a href="http://python.org">Python</a></li>
-		<ul>
-			<li>Python-MySQL</li>
-			<li>pytz (timezones)</li>
-			<li>jinja2 (templating)</li>
-			<li>markdown2 (markdown parser)</li>
-			<li>jsmin (javascript minifier)</li>
-		</ul>
-		<li>Javascript</li>
-		<ul>
-			<li>JQuery</li>
-			<li>JQuery UI (datepicker, sortable)</li>
-			<li>TinyMCE - text editor</li>
-			<li>Twitter Bootstrap</li>
-			<li>Ace - code editor</li>
-			<li>Slick Grid - report grid</li>
-			<li>jQPlot - graphs</li>
-			<li><a href="http://taitems.github.com/jQuery.Gantt/" target="_blank">
-				JQuery.Gantt</a> - Gantt Chart</li>
-			<li>JSON2 - JSON builder, parser</li>
-			<li>JSColor - color picker</li>
-			<li><a href="https://github.com/dcneiner/Downloadify" target="_blank">
-				Downloadify</a> - Export CSV files from the browser</li>
-			<li><a href="https://github.com/harvesthq/chosen" target="_blank">
-				Chosen</a> - a searchable select dropdown</li>
-		</ul>
-	</ul>
-
-	<h4>CSS Frameworks</h4>
-	<ul>
-		<li>Twitter Bootstrap</li>
-	</ul>
-		
-	<h4>Icons</h4>
-	<ul>
-		<li>The Noun Project</li>
-		<li>Font Awesome: http://fortawesome.github.com/Font-Awesome</li>
-	</ul>
-
-	<h4>Web Frameworks</h4>
-	<ul>
-		<li>wnframework</li>
-	</ul>
-
-	<h4>Web Browsers</h4>
-	<ul>
-		<li>Mozilla Firefox</li>
-		<ul>
-			<li>Firebug (debugger)</li>
-		</ul>
-		<li>Apple Safari</li>
-		<li>Google Chorme</li>
-	</ul>
-	<hr>
-	<h2>ERPNext License</h2>
+	<h3>ERPNext License: GNU/General Public License</h3>
+	<div class="well">
 	<p><b>ERPNext - Open Source, web based ERP</b></p>
 	<p>Copyright &copy; 2008 onwards, Web Notes Technologies Pvt Ltd, India</p>
 
@@ -92,6 +108,9 @@
 	    GNU General Public License for more details.</p>
 
  		<p>For complete license see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></p>
+	</div>
+	<p class="alert">Note: A link to this page must be easily accessible and all other ERPNext branding must remain as it is.</p>
 	<hr>
 	<p>For more information please write to us at support@erpnext.com</p>
+	</div>
 </div>
\ No newline at end of file
diff --git a/home/page/attributions/attributions.js b/home/page/attributions/attributions.js
index fc56784..29eb72f 100644
--- a/home/page/attributions/attributions.js
+++ b/home/page/attributions/attributions.js
@@ -1 +1,4 @@
-wn.pages['attributions'].onload = function(wrapper) { }
\ No newline at end of file
+wn.pages['attributions'].onload = function(wrapper) { 
+	wrapper.appframe = new wn.ui.AppFrame($(wrapper).find(".layout-appframe"), 
+		"Attributions");
+}
\ No newline at end of file
diff --git a/home/page/desktop/desktop.js b/home/page/desktop/desktop.js
index e154b3a..fc5f22b 100644
--- a/home/page/desktop/desktop.js
+++ b/home/page/desktop/desktop.js
@@ -32,7 +32,7 @@
 	}
 	
 	// modules
-	var modules_list = wn.user.get_default("_desktop_items") || wn.boot.modules_list;
+	var modules_list = wn.user.get_desktop_items();
 	$.each(modules_list, function(i, m) {
 		if(!in_list(['Setup', 'Core'], m) && wn.boot.profile.allow_modules.indexOf(m)!=-1)
 			add_icon(m);
@@ -75,11 +75,11 @@
 	}
 
 	add_circle('module-icon-messages', 'unread_messages', 'Unread Messages');
-	add_circle('module-icon-support', 'open_support_tickets', 'Open Support Tickets');
+	add_circle('module-icon-support-home', 'open_support_tickets', 'Open Support Tickets');
 	add_circle('module-icon-todo', 'things_todo', 'Things To Do');
 	add_circle('module-icon-calendar', 'todays_events', 'Todays Events');
-	add_circle('module-icon-project', 'open_tasks', 'Open Tasks');
-	add_circle('module-icon-kb', 'unanswered_questions', 'Unanswered Questions');
+	add_circle('module-icon-projects-home', 'open_tasks', 'Open Tasks');
+	add_circle('module-icon-questions', 'unanswered_questions', 'Unanswered Questions');
 
 	erpnext.update_messages();
 
diff --git a/home/page/latest_updates/latest_updates.js b/home/page/latest_updates/latest_updates.js
index 47d08c7..539d64d 100644
--- a/home/page/latest_updates/latest_updates.js
+++ b/home/page/latest_updates/latest_updates.js
@@ -1,7 +1,7 @@
 erpnext.updates = [
 	["21st December 2012", [
 		"Manufacturing: For Material Transfer against Production Order, \
-			fetch quantity pending to be transferred for each item."
+			fetch quantity pending to be transferred for each item.",
 		"Desktop: New Icons and now sortable by dragging."
 	]],
 	["20th December 2012", [
diff --git a/hr/doctype/attendance/attendance.txt b/hr/doctype/attendance/attendance.txt
index 2ef65ac..bd8b2a3 100644
--- a/hr/doctype/attendance/attendance.txt
+++ b/hr/doctype/attendance/attendance.txt
@@ -2,9 +2,9 @@
  {
   "owner": "ashwini@webnotestech.com", 
   "docstatus": 0, 
-  "creation": "2012-07-03 13:30:41", 
+  "creation": "2012-12-14 14:27:05", 
   "modified_by": "Administrator", 
-  "modified": "2012-12-13 14:23:24"
+  "modified": "2012-12-23 09:42:45"
  }, 
  {
   "is_submittable": 1, 
@@ -134,7 +134,7 @@
   "doctype": "DocField", 
   "label": "Fiscal Year", 
   "oldfieldname": "fiscal_year", 
-  "options": "\n2012\n2013", 
+  "options": "link:Fiscal Year", 
   "fieldname": "fiscal_year", 
   "fieldtype": "Select", 
   "reqd": 1, 
@@ -146,7 +146,7 @@
   "doctype": "DocField", 
   "label": "Company", 
   "oldfieldname": "company", 
-  "options": "\nAlpha\nBeta\nDemo Company", 
+  "options": "link:Company", 
   "fieldname": "company", 
   "fieldtype": "Select", 
   "reqd": 1, 
@@ -175,15 +175,15 @@
   "permlevel": 1
  }, 
  {
+  "role": "System Manager", 
+  "doctype": "DocPerm"
+ }, 
+ {
   "role": "HR User", 
   "doctype": "DocPerm"
  }, 
  {
   "role": "HR Manager", 
   "doctype": "DocPerm"
- }, 
- {
-  "role": "System Manager", 
-  "doctype": "DocPerm"
  }
 ]
\ No newline at end of file
diff --git a/projects/doctype/task/task.py b/projects/doctype/task/task.py
index c390806..83f8995 100644
--- a/projects/doctype/task/task.py
+++ b/projects/doctype/task/task.py
@@ -24,8 +24,6 @@
 
 sql = webnotes.conn.sql
 
-
-
 class DocType:
 	def __init__(self,doc,doclist=[]):
 		self.doc = doc
@@ -37,7 +35,6 @@
 			ret = {'customer': cust and cust[0][0] or '', 'customer_name': cust and cust[0][1] or ''}
 			return ret
 
-	# TODO: Remove these? as the field customer doesn't exists
 	def get_customer_details(self):
 		cust = sql("select customer_name from `tabCustomer` where name=%s", self.doc.customer)
 		if cust:
diff --git a/projects/doctype/task/task.txt b/projects/doctype/task/task.txt
index a7ada4b..f47d2eb 100644
--- a/projects/doctype/task/task.txt
+++ b/projects/doctype/task/task.txt
@@ -2,27 +2,18 @@
  {
   "owner": "Administrator", 
   "docstatus": 0, 
-  "creation": "2012-09-18 11:05:48", 
+  "creation": "2012-10-29 14:30:00", 
   "modified_by": "Administrator", 
-  "modified": "2012-10-29 14:24:55"
+  "modified": "2012-12-24 10:46:06"
  }, 
  {
-  "section_style": "Tray", 
-  "allow_attach": 1, 
-  "tag_fields": "status", 
-  "module": "Projects", 
-  "server_code_error": " ", 
-  "allow_trash": 1, 
-  "doctype": "DocType", 
-  "document_type": "Master", 
-  "subject": "%(subject)s", 
   "autoname": "TASK.#####", 
-  "name": "__common__", 
-  "colour": "White:FFF", 
-  "_last_update": "1324880734", 
-  "show_in_menu": 0, 
+  "allow_attach": 1, 
+  "doctype": "DocType", 
+  "module": "Projects", 
   "max_attachments": 5, 
-  "version": 1
+  "document_type": "Master", 
+  "name": "__common__"
  }, 
  {
   "name": "__common__", 
@@ -74,13 +65,13 @@
   "reqd": 0
  }, 
  {
-  "search_index": 1, 
+  "oldfieldtype": "Date", 
   "doctype": "DocField", 
   "label": "Expected End Date", 
   "oldfieldname": "exp_end_date", 
   "fieldname": "exp_end_date", 
   "fieldtype": "Date", 
-  "oldfieldtype": "Date", 
+  "search_index": 1, 
   "reqd": 0, 
   "in_filter": 1
  }, 
@@ -93,11 +84,9 @@
  }, 
  {
   "oldfieldtype": "Link", 
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Project", 
   "oldfieldname": "project", 
-  "trigger": "Client", 
   "fieldname": "project", 
   "fieldtype": "Link", 
   "options": "Project"
@@ -105,23 +94,21 @@
  {
   "no_copy": 1, 
   "oldfieldtype": "Select", 
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Status", 
   "oldfieldname": "status", 
-  "trigger": "Client", 
   "fieldname": "status", 
   "fieldtype": "Select", 
   "options": "Open\nWorking\nPending Review\nClosed\nCancelled"
  }, 
  {
-  "search_index": 1, 
+  "oldfieldtype": "Select", 
   "doctype": "DocField", 
   "label": "Priority", 
   "oldfieldname": "priority", 
   "fieldname": "priority", 
   "fieldtype": "Select", 
-  "oldfieldtype": "Select", 
+  "search_index": 1, 
   "reqd": 0, 
   "options": "Low\nMedium\nHigh\nUrgent", 
   "in_filter": 1
@@ -217,13 +204,12 @@
  }, 
  {
   "doctype": "DocField", 
+  "label": "More Details", 
   "fieldname": "more_details", 
-  "fieldtype": "Section Break", 
-  "label": "More Details"
+  "fieldtype": "Section Break"
  }, 
  {
   "oldfieldtype": "Date", 
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Review Date", 
   "oldfieldname": "review_date", 
@@ -234,7 +220,6 @@
  }, 
  {
   "oldfieldtype": "Date", 
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Closing Date", 
   "oldfieldname": "closing_date", 
@@ -260,7 +245,7 @@
   "permlevel": 0
  }, 
  {
-  "permlevel": 1, 
-  "doctype": "DocPerm"
+  "doctype": "DocPerm", 
+  "permlevel": 1
  }
 ]
\ No newline at end of file
diff --git a/public/js/toolbar.js b/public/js/toolbar.js
index 7ade8f8..f1eddb0 100644
--- a/public/js/toolbar.js
+++ b/public/js/toolbar.js
@@ -54,16 +54,11 @@
 		</ul>\
 		</li>').prependTo('.navbar .nav:first');
 	
-	// if no modules list then show all
-	if(wn.boot.modules_list && typeof(wn.boot.modules_list) == 'string') {
-		wn.boot.modules_list = JSON.parse(wn.boot.modules_list);	
-	}
-	else
-		wn.boot.modules_list = keys(wn.modules).sort();
+	var modules_list = wn.user.get_desktop_items();
 
 	// add to dropdown
-	for(var i in wn.boot.modules_list) {
-		var m = wn.boot.modules_list[i]
+	for(var i in modules_list) {
+		var m = modules_list[i]
 		
 		if(m!='Setup' && wn.boot.profile.allow_modules.indexOf(m)!=-1 && wn.modules[m]) {
 			args = {
diff --git a/selling/page/sales_analytics/sales_analytics.js b/selling/page/sales_analytics/sales_analytics.js
index 6c47133..3d54203 100644
--- a/selling/page/sales_analytics/sales_analytics.js
+++ b/selling/page/sales_analytics/sales_analytics.js
@@ -22,7 +22,9 @@
 	});
 	new erpnext.SalesAnalytics(wrapper);
 	
-	wrapper.appframe.add_module_tab("Selling");
+	wrapper.appframe.add_home_breadcrumb()
+	wrapper.appframe.add_module_breadcrumb("Selling")
+	wrapper.appframe.add_breadcrumb("icon-bar-chart")
 }
 
 erpnext.SalesAnalytics = wn.views.TreeGridReport.extend({
diff --git a/selling/page/sales_browser/sales_browser.js b/selling/page/sales_browser/sales_browser.js
index 8b570d1..4622f24 100644
--- a/selling/page/sales_browser/sales_browser.js
+++ b/selling/page/sales_browser/sales_browser.js
@@ -16,7 +16,8 @@
 
 pscript['onload_Sales Browser'] = function(wrapper){
 	wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.appframe-area'));
-	wrapper.appframe.add_module_tab("Selling");
+	wrapper.appframe.add_home_breadcrumb()
+	wrapper.appframe.add_module_breadcrumb("Selling")
 	
 	wrapper.appframe.add_button('Refresh', function() {  
 			wrapper.make_tree();
diff --git a/stock/page/stock_ageing/stock_ageing.js b/stock/page/stock_ageing/stock_ageing.js
index 82ab0bc..c20fa92 100644
--- a/stock/page/stock_ageing/stock_ageing.js
+++ b/stock/page/stock_ageing/stock_ageing.js
@@ -24,7 +24,9 @@
 
 	new erpnext.StockAgeing(wrapper);
 	
-	wrapper.appframe.add_module_tab("Stock");
+	wrapper.appframe.add_home_breadcrumb()
+	wrapper.appframe.add_module_breadcrumb("Stock")
+	wrapper.appframe.add_breadcrumb("icon-bar-chart")
 }
 
 wn.require("app/js/stock_grid_report.js");
diff --git a/stock/page/stock_analytics/stock_analytics.js b/stock/page/stock_analytics/stock_analytics.js
index 8e98de8..3448035 100644
--- a/stock/page/stock_analytics/stock_analytics.js
+++ b/stock/page/stock_analytics/stock_analytics.js
@@ -23,7 +23,9 @@
 	
 	new erpnext.StockAnalytics(wrapper);
 	
-	wrapper.appframe.add_module_tab("Stock");
+	wrapper.appframe.add_home_breadcrumb()
+	wrapper.appframe.add_module_breadcrumb("Stock")
+	wrapper.appframe.add_breadcrumb("icon-bar-chart")
 }
 
 wn.require("app/js/stock_grid_report.js");
diff --git a/stock/page/stock_ledger/stock_ledger.js b/stock/page/stock_ledger/stock_ledger.js
index f7427ab..3287bb0 100644
--- a/stock/page/stock_ledger/stock_ledger.js
+++ b/stock/page/stock_ledger/stock_ledger.js
@@ -23,7 +23,9 @@
 	
 	new erpnext.StockLedger(wrapper);
 	
-	wrapper.appframe.add_module_tab("Stock");
+	wrapper.appframe.add_home_breadcrumb()
+	wrapper.appframe.add_module_breadcrumb("Stock")
+	wrapper.appframe.add_breadcrumb("icon-bar-chart")
 }
 
 wn.require("app/js/stock_grid_report.js");
diff --git a/website/css/website.css b/website/css/website.css
index 86f0414..112d29c 100644
--- a/website/css/website.css
+++ b/website/css/website.css
@@ -6,7 +6,9 @@
 	padding: 0px;
 	min-height: 400px;
 	margin: 40px auto;
-	box-shadow: 1px 1px 3px 3px #ccc;
+	box-shadow: 1px 1px 3px 3px #bbb;
+	border-radius: 5px;
+	overflow: hidden;
 }
 
 .navbar-inner {
@@ -23,6 +25,7 @@
 	box-shadow: none;
 	-webkit-box-shadow: none;
 	-moz-box-shadow: none;
+	border-radius: 0px 0px 5px 5px;
 }
 
 .layout-main {
diff --git a/website/templates/css/login.css b/website/templates/css/login.css
index 3d64009..710f889 100644
--- a/website/templates/css/login.css
+++ b/website/templates/css/login.css
@@ -10,6 +10,7 @@
 			box-shadow: 1px 1px 3px 3px #ccc;
 			font-size: 12px;
 			min-height: 100px;
+			border-radius: 5px;
 		}
 
 		#login_wrapper h3 {
diff --git a/website/utils.py b/website/utils.py
index 079ad21..bac87ff 100644
--- a/website/utils.py
+++ b/website/utils.py
@@ -210,7 +210,7 @@
 			from `tabWebsite Product Category` t1, `tabItem Group` t2 
 			where t1.item_group = t2.name
 			and ifnull(t2.show_in_website,0)=1 order by t1.idx""", as_dict=1)
-		products_item = filter(lambda d: d.url.split(".")[0]=="products", top_items)[0]			
+		products_item = filter(lambda d: d.url and d.url.split(".")[0]=="products", top_items)[0]			
 		products_item.child_items = products
 		
 	return {