diff --git a/css/all-app.css b/css/all-app.css
index 18a99f5..b38d5cb 100644
--- a/css/all-app.css
+++ b/css/all-app.css
@@ -234,10 +234,15 @@
 	padding: 15px;
 }
 
+.layout-wrapper-background {
+	background-color: #f2f2f2 !important;
+	padding: 0px;
+}
+
 .layout-main-section {
 	width: 68%;
 	float: left;
-	padding: 13px;
+	padding: 15px;
 	background-color: #FFF;
 	min-height: 450px;
 }
@@ -245,10 +250,9 @@
 .layout-side-section {
 	width: 24%;
 	float: right;
-	margin-right: 15px;
 	color: #606060;
 	overflow-x: hidden;
-	padding: 13px;
+	padding: 15px;
 	min-height: 450px;
 }
 
@@ -1619,46 +1623,39 @@
 
 /*
  *	lib/css/legacy/sidebar.css
- */div.psidebar-wrapper {
-	margin: 0px 8px;
+ */div.psidebar {
 }
 
-div.psidebar-head {
+div.psidebar div.head {
 	font-size: 14px;
 	font-weight: bold;
 	color: #555;
 	margin-bottom: 12px;
 }
 
-div.psidebar-section {
+div.psidebar div.section {
 	margin-bottom: 11px;
 	overflow: hidden;
 }
 
-div.psidebar-section-head {
+div.psidebar div.section-head {
 	font-size: 12px;
 	padding: 5px 11px;
 	border-bottom: 2px solid #444;
 }
 
-div.psidebar-section-body {
+div.psidebar div.section-body {
 	margin: 7px 11px 11px 11px;
 }
 
-div.psidebar-section-item {
+div.psidebar div.section-item {
 	margin-bottom: 7px;
 }
 
-.psidebar-section-link {
+div.psidebar .section-link {
 	font-size: 11px;
 	color: #666;
 }
-
-div.follower-list {
-	color: #666;
-	margin-top: 7px;
-	font-size: 11px;
-}
 /*
  *	lib/css/bootstrap/bootstrap-buttons.css
  */.btn.danger,
diff --git a/css/all-web.css b/css/all-web.css
index 43e94e4..96574e3 100644
--- a/css/all-web.css
+++ b/css/all-web.css
@@ -234,10 +234,15 @@
 	padding: 15px;
 }
 
+.layout-wrapper-background {
+	background-color: #f2f2f2 !important;
+	padding: 0px;
+}
+
 .layout-main-section {
 	width: 68%;
 	float: left;
-	padding: 13px;
+	padding: 15px;
 	background-color: #FFF;
 	min-height: 450px;
 }
@@ -245,10 +250,9 @@
 .layout-side-section {
 	width: 24%;
 	float: right;
-	margin-right: 15px;
 	color: #606060;
 	overflow-x: hidden;
-	padding: 13px;
+	padding: 15px;
 	min-height: 450px;
 }
 
diff --git a/erpnext/home/page/event_updates/event_updates.js b/erpnext/home/page/event_updates/event_updates.js
index 25c74ae..11dfdf8 100644
--- a/erpnext/home/page/event_updates/event_updates.js
+++ b/erpnext/home/page/event_updates/event_updates.js
@@ -16,9 +16,7 @@
 	var wrapper = page_body.pages['Event Updates'];
 	
 	// body
-	$(wrapper).addClass('layout-wrapper')
-		.css('background-color', wn.sidebar_background).css('padding', '0px');
-	wrapper.style.backgroud
+	$(wrapper).addClass('layout-wrapper').addClass('layout-wrapper-background')
 	
 	wrapper.body = $a(wrapper, 'div', 'layout-main-section');
 	wrapper.head = $a(wrapper.body, 'div');
diff --git a/erpnext/selling/doctype/campaign/campaign.txt b/erpnext/selling/doctype/campaign/campaign.txt
index 1f1c3a0..8810cb8 100644
--- a/erpnext/selling/doctype/campaign/campaign.txt
+++ b/erpnext/selling/doctype/campaign/campaign.txt
@@ -5,164 +5,84 @@
 	{
 		'creation': '2010-08-08 17:08:54',
 		'docstatus': 0,
-		'modified': '2010-09-20 14:06:57',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-02-20 18:06:32',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all DocType
 	{
+		'_last_update': u'1326102553',
 		'allow_trash': 1,
-		'autoname': 'field:campaign_name',
-		'colour': 'White:FFF',
+		'autoname': u'field:campaign_name',
+		'colour': u'White:FFF',
+		'default_print_format': u'Standard',
 		'doctype': 'DocType',
-		'document_type': 'Master',
-		'module': 'Selling',
+		'document_type': u'Master',
+		'module': u'Selling',
 		'name': '__common__',
-		'section_style': 'Simple',
-		'server_code_error': ' ',
+		'section_style': u'Simple',
+		'server_code_error': u' ',
 		'show_in_menu': 0,
-		'version': 6
+		'version': 7
 	},
 
 	# These values are common for all DocField
 	{
-		'doctype': 'DocField',
+		'doctype': u'DocField',
 		'name': '__common__',
-		'parent': 'Campaign',
-		'parentfield': 'fields',
-		'parenttype': 'DocType'
-	},
-
-	# These values are common for all DocPerm
-	{
-		'amend': 0,
-		'doctype': 'DocPerm',
-		'name': '__common__',
-		'parent': 'Campaign',
-		'parentfield': 'permissions',
-		'parenttype': 'DocType',
-		'read': 1,
-		'submit': 0
+		'parent': u'Campaign',
+		'parentfield': u'fields',
+		'parenttype': u'DocType'
 	},
 
 	# DocType, Campaign
 	{
 		'doctype': 'DocType',
-		'name': 'Campaign'
-	},
-
-	# DocPerm
-	{
-		'cancel': 0,
-		'create': 0,
-		'doctype': 'DocPerm',
-		'idx': 1,
-		'permlevel': 1,
-		'role': 'Sales Manager',
-		'write': 0
-	},
-
-	# DocPerm
-	{
-		'cancel': 0,
-		'create': 0,
-		'doctype': 'DocPerm',
-		'idx': 2,
-		'permlevel': 0,
-		'role': 'Sales Manager',
-		'write': 0
-	},
-
-	# DocPerm
-	{
-		'cancel': 0,
-		'create': 0,
-		'doctype': 'DocPerm',
-		'idx': 3,
-		'permlevel': 1,
-		'role': 'Sales Master Manager',
-		'write': 0
-	},
-
-	# DocPerm
-	{
-		'cancel': 0,
-		'create': 0,
-		'doctype': 'DocPerm',
-		'idx': 4,
-		'permlevel': 1,
-		'role': 'Sales User',
-		'write': 0
-	},
-
-	# DocPerm
-	{
-		'cancel': 0,
-		'create': 0,
-		'doctype': 'DocPerm',
-		'idx': 5,
-		'permlevel': 0,
-		'role': 'Sales User',
-		'write': 0
-	},
-
-	# DocPerm
-	{
-		'cancel': 1,
-		'create': 1,
-		'doctype': 'DocPerm',
-		'idx': 6,
-		'permlevel': 0,
-		'role': 'Sales Master Manager',
-		'write': 1
+		'name': u'Campaign'
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'trash_reason',
-		'fieldtype': 'Small Text',
-		'idx': 1,
-		'label': 'Trash Reason',
-		'oldfieldname': 'trash_reason',
-		'oldfieldtype': 'Small Text',
+		'doctype': u'DocField',
+		'fieldname': u'trash_reason',
+		'fieldtype': u'Small Text',
+		'label': u'Trash Reason',
+		'oldfieldname': u'trash_reason',
+		'oldfieldtype': u'Small Text',
 		'permlevel': 1
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldtype': 'Section Break',
-		'idx': 2,
-		'label': 'Campaign',
-		'oldfieldtype': 'Section Break',
+		'doctype': u'DocField',
+		'fieldtype': u'Section Break',
+		'label': u'Campaign',
+		'oldfieldtype': u'Section Break',
 		'permlevel': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'campaign_name',
-		'fieldtype': 'Data',
-		'idx': 3,
-		'label': 'Campaign Name',
-		'oldfieldname': 'campaign_name',
-		'oldfieldtype': 'Data',
+		'doctype': u'DocField',
+		'fieldname': u'campaign_name',
+		'fieldtype': u'Data',
+		'label': u'Campaign Name',
+		'oldfieldname': u'campaign_name',
+		'oldfieldtype': u'Data',
 		'permlevel': 0,
 		'reqd': 1
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'description',
-		'fieldtype': 'Text',
-		'idx': 4,
-		'label': 'Description',
-		'oldfieldname': 'description',
-		'oldfieldtype': 'Text',
+		'doctype': u'DocField',
+		'fieldname': u'description',
+		'fieldtype': u'Text',
+		'label': u'Description',
+		'oldfieldname': u'description',
+		'oldfieldtype': u'Text',
 		'permlevel': 0,
-		'width': '300px'
+		'width': u'300px'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/selling/page/selling_home/__init__.py b/erpnext/selling/page/selling_home/__init__.py
new file mode 100644
index 0000000..959135f
--- /dev/null
+++ b/erpnext/selling/page/selling_home/__init__.py
@@ -0,0 +1,12 @@
+import webnotes
+
+@webnotes.whitelist()
+def get_report_list(arg=None):
+	"""return list of reports for this module"""	
+	webnotes.response['values'] = webnotes.conn.sql("""select 
+		distinct criteria_name, doc_type, parent_doc_type
+		from `tabSearch Criteria` 
+		where module='Selling' 
+		and docstatus in (0, NULL) 
+		order by criteria_name 
+		limit %(limit_start)s, %(limit_page_length)s""" % webnotes.form_dict, as_dict=True)
\ No newline at end of file
diff --git a/erpnext/selling/page/selling_home/selling_home.html b/erpnext/selling/page/selling_home/selling_home.html
new file mode 100644
index 0000000..5c7f1b1
--- /dev/null
+++ b/erpnext/selling/page/selling_home/selling_home.html
@@ -0,0 +1,65 @@
+<div class="layout-wrapper layout-wrapper-background" id="page-selling-home">
+	<div class="layout-main-section">
+		<h1>Selling</h1>
+		<hr>
+		<div style="width: 48%; float: left;">
+			<h4><a href="#!List/Lead">Lead</a></h4>
+			<p class="help">Prospective customers</p>
+			<h4><a href="#!List/Enquiry">Enquiry</a></h4>
+			<p class="help">Business opportunities</p>
+			<h4><a href="#!List/Quotation">Quotation</a></h4>
+			<p class="help">Quotes sent to Leads / Customers</p>
+			<h4><a href="#!List/Sales Order">Sales Order</a></h4>
+			<p class="help">Confirmed orders from Customers</p>	
+		</div>
+		<div style="width: 48%; float: right;">
+			<h4><a href="#!List/Customer">Customer</a></h4>
+			<p class="help">Customer Master</p>
+			<h4><a href="#!List/Item">Item</a></h4>
+			<p class="help">Item Master</p>
+		</div>
+		<div style="clear: both"></div>
+		<hr>
+		<h3>Reports</h3>
+		<div class="reports-list"></div>
+	</div>
+	<div class="layout-side-section">
+		<div class="psidebar">
+			<div class="section">
+				<div class="section-head">Setup</div>
+				<div class="section-body">
+					<div class="section-item">
+						<a class="section-link" href="#!List/Price List">Price List</a>
+					</div>
+					<div class="section-item">
+						<a class="section-link" href="#!List/Sales BOM">Sales BOM</a>
+					</div>
+					<div class="section-item">
+						<a class="section-link" href="#!List/Customer Group">Customer Group</a>
+					</div>
+					<div class="section-item">
+						<a class="section-link" href="#!List/Territory">Territory</a>
+					</div>
+					<div class="section-item">
+						<a class="section-link" href="#!List/Sales Person">Sales Person</a>
+					</div>
+					<div class="section-item">
+						<a class="section-link" href="#!List/Sales Partner">Sales Partner</a>
+					</div>
+					<div class="section-item">
+						<a class="section-link" href="#!List/Campaign">Campaign</a>
+					</div>
+				</div>				
+			</div>
+			<div class="section">
+				<div class="section-head">Tools</div>
+				<div class="section-body">
+					<div class="section-item">
+						<a class="section-link" href="#!Sales Dashboard">Sales Dashboard</a>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div style="clear: both;"></div>
+</div>
\ No newline at end of file
diff --git a/erpnext/selling/page/selling_home/selling_home.js b/erpnext/selling/page/selling_home/selling_home.js
new file mode 100644
index 0000000..76fac70
--- /dev/null
+++ b/erpnext/selling/page/selling_home/selling_home.js
@@ -0,0 +1,40 @@
+pscript['onload_selling-home'] = function(wrapper) {
+	erpnext.module_page.hide_links(wrapper);
+	erpnext.module_page.make_list('Selling', wrapper);
+}
+
+wn.provide('erpnext.module_page');
+
+// hide list links where the user does
+// not have read permissions
+
+erpnext.module_page.hide_links = function(wrapper) {
+	$(wrapper).find('[href*="List/"]').each(function() {
+		var href = $(this).attr('href');
+		var dt = href.split('/')[1];
+		if(wn.boot.profile.can_read.indexOf(dt)==-1) {
+			$(this).toggle(false);
+		}
+	});
+}
+
+// make list of reports
+
+erpnext.module_page.make_list = function(module, wrapper) {
+	// make project listing
+	wrapper.list = new wn.widgets.Listing({
+		parent: $(wrapper).find('.reports-list').get(0),
+		method: 'selling.page.selling_home.get_report_list',
+		render_row: function(row, data) {
+			if(!data.parent_doc_type) data.parent_doc_type = data.doc_type;
+			$(row).html(repl('<a href="#!Report/%(doc_type)s/%(criteria_name)s" \
+				data-doctype="%(parent_doc_type)s">\
+				%(criteria_name)s</a>', data))
+		},
+		args: {
+			module: module
+		},
+		no_refresh: true
+	});
+	wrapper.list.run();	
+}
\ No newline at end of file
diff --git a/erpnext/selling/page/selling_home/selling_home.txt b/erpnext/selling/page/selling_home/selling_home.txt
new file mode 100644
index 0000000..e6636a8
--- /dev/null
+++ b/erpnext/selling/page/selling_home/selling_home.txt
@@ -0,0 +1,43 @@
+# Page, selling-home
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-02-20 15:46:39',
+		'docstatus': 0,
+		'modified': '2012-02-20 15:46:57',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
+	},
+
+	# These values are common for all Page
+	{
+		'doctype': 'Page',
+		'module': u'Selling',
+		'name': '__common__',
+		'page_name': u'selling-home',
+		'standard': u'Yes',
+		'title': u'Selling Home'
+	},
+
+	# These values are common for all Page Role
+	{
+		'doctype': u'Page Role',
+		'name': '__common__',
+		'parent': u'selling-home',
+		'parentfield': u'roles',
+		'parenttype': u'Page',
+		'role': u'All'
+	},
+
+	# Page, selling-home
+	{
+		'doctype': 'Page',
+		'name': u'selling-home'
+	},
+
+	# Page Role
+	{
+		'doctype': u'Page Role'
+	}
+]
\ No newline at end of file
diff --git a/js/all-app.js b/js/all-app.js
index e90debf..ecfc3bb 100644
--- a/js/all-app.js
+++ b/js/all-app.js
Binary files differ
diff --git a/js/all-web.js b/js/all-web.js
index 22e5400..09396ad 100644
--- a/js/all-web.js
+++ b/js/all-web.js
@@ -676,7 +676,7 @@
  */
 wn.widgets.Listing=function(opts){this.opts=opts;this.page_length=20;this.btns={};this.start=0;var me=this;this.make=function(opts){this.wrapper=$a(this.opts.parent,'div');this.filters_area=$a(this.wrapper,'div','listing-filters');this.toolbar_area=$a(this.wrapper,'div','listing-toolbar');this.results_area=$a(this.wrapper,'div','listing-results');this.more_button_area=$a(this.wrapper,'div','listing-more');this.no_results_area=$a(this.wrapper,'div','help_box',{display:'none'},(this.opts.no_result_message?this.opts.no_result_message:'No results'));if(opts)this.opts=opts;this.page_length=this.opts.page_length?this.opts.page_length:this.page_length;this.make_toolbar();this.make_filters();this.make_more_button();}
 this.make_filters=function(){if(this.opts.filters){$ds(this.filters_area);this.filters=new wn.widgets.FieldGroup(this.filters_area,this.opts.fields);}}
-this.make_toolbar=function(){if(!this.opts.hide_refresh){this.ref_img=$a(this.toolbar_area,'span','link_type',{color:'#888'},'[refresh]');this.ref_img.onclick=function(){me.run();}
+this.make_toolbar=function(){if(!(this.opts.hide_refresh||this.opts.no_refresh)){this.ref_img=$a(this.toolbar_area,'span','link_type',{color:'#888'},'[refresh]');this.ref_img.onclick=function(){me.run();}
 this.loading_img=$a(this.toolbar_area,'img','lib/images/ui/button-load.gif',{display:'none',marginLeft:'3px',marginBottom:'-2px'});}
 if(this.opts.new_doctype){this.new_btn=$btn(this.toolbar_area,'New '+get_doctype_label(this.opts.new_doctype),function(){newdoc(me.opts.new_doctype,me.opts.new_doc_onload,me.opts.new_doc_indialog,me.opts.new_doc_onsave);},{marginLeft:'7px'});}}
 this.make_more_button=function(){this.more_btn=$btn(this.more_button_area,'More...',function(){me.more_btn.set_working();me.run(function(){me.more_btn.done_working();},1);},'',0,1);$y(this.more_btn.loading_img,{marginBottom:'0px'});}
@@ -688,8 +688,9 @@
 this.add_row=function(){return $a(this.results_area,'div','',(opts.cell_style?opts.cell_style:{padding:'3px 0px'}));}
 this.run=function(callback,append){if(callback)
 this.onrun=callback;if(!append)
-this.start=0;this.query=this.opts.get_query?this.opts.get_query():this.opts.query;this.add_limits();args={query_max:this.query_max||this.opts.query_max||''}
-args.simple_query=this.query;args.as_dict=1;if(this.loading_img)$di(this.loading_img);wn.call({method:'webnotes.widgets.query_builder.runquery',args:args,callback:function(r,rt){me.make_results(r,rt)},no_spinner:this.opts.no_loading,btn:this.opts.run_btn});}
+this.start=0;if(!this.opts.method){this.query=this.opts.get_query?this.opts.get_query():this.opts.query;this.add_limits();var args={query_max:this.query_max||this.opts.query_max||'',as_dict:1}
+args.simple_query=this.query;}else{var args={limit_start:this.start,limit_page_length:this.page_length}}
+if(this.loading_img)$di(this.loading_img);wn.call({method:this.opts.method||'webnotes.widgets.query_builder.runquery',args:args,callback:function(r,rt){me.make_results(r,rt)},no_spinner:this.opts.no_loading,btn:this.opts.run_btn});}
 this.refresh=this.run;this.add_limits=function(){this.query+=' LIMIT '+this.start+','+(this.page_length+1);}
 if(opts)this.make();}
 /*
@@ -884,8 +885,8 @@
 /*
  *	lib/js/legacy/wn/page_layout.js
  */
-wn.sidebar_background='#f2f2f2';wn.PageLayout=function(args){$.extend(this,args)
-this.wrapper=$a(this.parent,'div','layout-wrapper',{backgroundColor:wn.sidebar_background,padding:'0px'});this.main=$a(this.wrapper,'div','layout-main-section');this.sidebar_area=$a(this.wrapper,'div','layout-side-section');$a(this.wrapper,'div','',{clear:'both'});this.head=$a(this.main,'div');this.toolbar_area=$a(this.main,'div');this.body=$a(this.main,'div');this.footer=$a(this.main,'div');if(this.heading){this.page_head=new PageHeader(this.head,this.heading);}}
+wn.PageLayout=function(args){$.extend(this,args)
+this.wrapper=$a(this.parent,'div','layout-wrapper layout-wrapper-background');this.main=$a(this.wrapper,'div','layout-main-section');this.sidebar_area=$a(this.wrapper,'div','layout-side-section');$a(this.wrapper,'div','',{clear:'both'});this.head=$a(this.main,'div');this.toolbar_area=$a(this.main,'div');this.body=$a(this.main,'div');this.footer=$a(this.main,'div');if(this.heading){this.page_head=new PageHeader(this.head,this.heading);}}
 /*
  *	lib/js/legacy/wn/widgets/footer.js
  */
diff --git a/version.num b/version.num
index 88bc40f..1fc188d 100644
--- a/version.num
+++ b/version.num
@@ -1 +1 @@
-513
\ No newline at end of file
+525
\ No newline at end of file
