diff --git a/README b/README
new file mode 100644
index 0000000..3796729
--- /dev/null
+++ b/README
@@ -0,0 +1 @@
+erpnext
diff --git a/crm/doctype/customer/customer.py b/crm/doctype/customer/customer.py
index d480a6c..3d2fa59 100644
--- a/crm/doctype/customer/customer.py
+++ b/crm/doctype/customer/customer.py
@@ -25,7 +25,8 @@
     if cust_master_name == 'Customer Name':
    
       # filter out bad characters in name
-      cust = self.doc.customer_name.replace('&','and').replace('.','').replace("'",'').replace('"','').replace(',','').replace('`','')
+      #cust = self.doc.customer_name.replace('&','and').replace('.','').replace("'",'').replace('"','').replace(',','').replace('`','')
+      cust = self.doc.customer_name
 
       supp = sql("select name from `tabSupplier` where name = %s", (cust))
       supp = supp and supp[0][0] or ''
diff --git a/event_updates/Module Def/Event Updates/Event Updates.txt b/event_updates/Module Def/Event Updates/Event Updates.txt
deleted file mode 100644
index 3bc62f0..0000000
--- a/event_updates/Module Def/Event Updates/Event Updates.txt
+++ /dev/null
@@ -1,330 +0,0 @@
-[
-	{
-		'_last_update': None,
-		'creation': '2010-11-30 22:40:49',
-		'disabled': 'No',
-		'docstatus': 0,
-		'doctype': 'Module Def',
-		'doctype_list': None,
-		'file_list': None,
-		'idx': None,
-		'is_hidden': 'No',
-		'last_updated_date': '2010-11-29 12:02:02',
-		'modified': '2010-09-25 15:53:18',
-		'modified_by': 'Administrator',
-		'module_desc': '<p>This module contains</p>\n<ul>\n<li>Feeds</li>\n<li>To Do List</li>\n<li>Events</li>\n</ul>',
-		'module_icon': 'star_full.png',
-		'module_label': 'Home',
-		'module_name': 'Event Updates',
-		'module_page': 'Event Updates',
-		'module_seq': 0,
-		'name': 'Event Updates',
-		'owner': 'Administrator',
-		'parent': None,
-		'parentfield': None,
-		'parenttype': None,
-		'trash_reason': None,
-		'widget_code': None
-	},
-	{
-		'click_function': None,
-		'creation': '2010-11-30 22:40:49',
-		'description': None,
-		'display_name': 'Comment Widget Record',
-		'doc_name': 'Comment Widget Record',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': None,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDI00108',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2010-11-30 22:40:49',
-		'description': None,
-		'display_name': 'Feed',
-		'doc_name': 'Feed',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': None,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDI00109',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2010-11-30 22:40:49',
-		'description': None,
-		'display_name': 'Home',
-		'doc_name': 'Home',
-		'doc_type': 'Pages',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': None,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDI00111',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 1,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00014',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Administrator'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 2,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00015',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Accounts User'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 3,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00016',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Accounts Manager'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 4,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00017',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'HR User'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 5,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00018',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'HR Manager'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 6,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00019',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Material User'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 7,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00020',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Material Master Manager'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 8,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00021',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Material Manager'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 9,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00022',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Purchase User'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 10,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00023',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Purchase Master Manager'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 11,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00024',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Purchase Manager'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 12,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00025',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Production User'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 13,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00026',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Production Manager'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 14,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00027',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'System Manager'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 15,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00028',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Sales User'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 16,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00029',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Sales Master Manager'
-	},
-	{
-		'creation': '2010-11-30 22:40:49',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 17,
-		'modified': '2010-11-30 22:40:49',
-		'modified_by': 'Administrator',
-		'name': 'MDR00030',
-		'owner': 'Administrator',
-		'parent': 'Event Updates',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Sales Manager'
-	}
-]
\ No newline at end of file
diff --git a/event_updates/__init__.py b/event_updates/__init__.py
deleted file mode 100644
index d1f79c7..0000000
--- a/event_updates/__init__.py
+++ /dev/null
@@ -1,52 +0,0 @@
-import webnotes
-
-feed_dict = {
-	# Project
-	'Ticket':			['[%(status)s] %(subject)s', '#000080'],
-
-	# Sales
-	'Lead':				['%(lead_name)s', '#000080'],
-	'Quotation':		['[%(status)s] To %(customer_name)s worth %(currency)s %(grand_total_export)s', '#4169E1'],
-	'Sales Order':		['[%(status)s] To %(customer_name)s worth %(currency)s %(grand_total_export)s', '#4169E1'],
-
-	# Purchase
-	'Supplier':			['%(supplier_name)s, %(supplier_type)s', '#6495ED'],
-	'Purchase Order':	['[%(status)s] %(name)s To %(supplier_name)s for %(currency)s  %(grand_total_import)s', '#4169E1'],
-
-	# Stock
-	'Delivery Note':	['[%(status)s] To %(customer_name)s', '#4169E1'],
-
-	# Accounts
-	'Journal Voucher':	['[%(voucher_type)s] %(name)s', '#4169E1'],
-	'Payable Voucher':	['To %(supplier_name)s for %(currency)s %(grand_total_import)s', '#4169E1'],
-	'Receivable Voucher':['To %(customer_name)s for %(currency)s %(grand_total_export)s', '#4169E1'],
-
-	# HR
-	'Expense Voucher':	['[%(approval_status)s] %(name)s by %(employee_name)s', '#4169E1'],
-	'Salary Slip':		['%(employee_name)s for %(month)s %(fiscal_year)s', '#4169E1'],
-	'Leave Transaction':['%(leave_type)s for %(employee)s', '#4169E1'],
-
-	# Support
-	'Customer Issue':	['[%(status)s] %(description)s by %(customer_name)s', '#000080'],
-	'Maintenance Visit':['To %(customer_name)s', '#4169E1'],
-	'Support Ticket':	['[%(status)s] %(subject)s', '#000080']
-}
-
-def make_feed(doc, subject, color):
-	"makes a new Feed record"
-	from webnotes.model.doc import Document
-	webnotes.conn.sql("delete from tabFeed where doc_type=%s and doc_name=%s", (doc.doctype, doc.name))
-	f = Document('Feed')
-	f.doc_type = doc.doctype
-	f.doc_name = doc.name
-	f.subject = subject
-	f.color = color
-	f.save(1)
-	
-def update_feed(doc):	
-	"adds a new feed"
-	subject, color = feed_dict.get(doc.doctype, [None, None])
-	if subject:
-		subject = subject % doc.fields
-		make_feed(doc, subject, color)
-	
diff --git a/event_updates/doctype/__init__.py b/event_updates/doctype/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/event_updates/doctype/__init__.py
+++ /dev/null
diff --git a/event_updates/doctype/home_control/home_control.txt b/event_updates/doctype/home_control/home_control.txt
deleted file mode 100644
index d23fb3d..0000000
--- a/event_updates/doctype/home_control/home_control.txt
+++ /dev/null
@@ -1 +0,0 @@
-[{'section_style': 'Simple', 'is_transaction_doc': None, 'creation': '2009-07-09 16:32:49', 'search_fields': None, 'module': 'Event Updates', 'doctype': 'DocType', 'change_log': None, 'print_outline': '', 'owner': 'Administrator', 'in_dialog': None, 'in_create': None, 'read_only': None, 'allow_email': None, 'dt_template': None, 'hide_heading': None, 'issingle': 1, 'allow_rename': None, 'smallicon': None, 'allow_attach': None, 'show_in_menu': 0, 'max_attachments': None, 'version': 4, 'menu_index': None, 'docstatus': 0, 'allow_copy': None, 'istable': None, 'description': None, 'parent': None, 'server_code': None, 'allow_trash': None, 'allow_print': None, 'autoname': None, 'client_script_core': '', 'client_string': None, 'use_template': None, 'modified_by': 'Administrator', 'document_type': None, 'name': 'Home Control', 'idx': None, 'hide_toolbar': None, 'colour': 'White:FFF', 'client_script': None, 'modified': '2010-11-21 16:46:44', 'server_code_error': ' ', 'name_case': '', 'parenttype': None, 'read_only_onload': None, 'server_code_core': None, 'server_code_compiled': None, 'parent_node': None, 'parentfield': None}]
\ No newline at end of file
diff --git a/event_updates/doctype/widget_control/widget_control.txt b/event_updates/doctype/widget_control/widget_control.txt
deleted file mode 100644
index 184eb24..0000000
--- a/event_updates/doctype/widget_control/widget_control.txt
+++ /dev/null
@@ -1 +0,0 @@
-[{'section_style': 'Simple', 'is_transaction_doc': None, 'creation': '2009-11-12 13:06:24', 'search_fields': None, 'module': 'Event Updates', 'doctype': 'DocType', 'change_log': None, 'print_outline': '', 'owner': 'Administrator', 'in_dialog': None, 'in_create': None, 'read_only': None, 'allow_email': None, 'dt_template': None, 'hide_heading': None, 'issingle': 1, 'allow_rename': None, 'smallicon': None, 'allow_attach': None, 'show_in_menu': 0, 'max_attachments': None, 'version': 27, 'menu_index': None, 'docstatus': 0, 'allow_copy': None, 'istable': 0, 'description': None, 'parent': None, 'server_code': None, 'allow_trash': None, 'allow_print': None, 'autoname': None, 'client_script_core': None, 'client_string': None, 'use_template': None, 'modified_by': 'Administrator', 'document_type': None, 'name': 'Widget Control', 'idx': None, 'hide_toolbar': None, 'colour': 'White:FFF', 'client_script': None, 'modified': '2010-09-20 14:06:57', 'server_code_error': ' ', 'name_case': '', 'parenttype': None, 'read_only_onload': None, 'server_code_core': None, 'server_code_compiled': None, 'parent_node': None, 'parentfield': None}]
\ No newline at end of file
diff --git a/event_updates/page/__init__.py b/event_updates/page/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/event_updates/page/__init__.py
+++ /dev/null
diff --git a/event_updates/page/event_updates/event_updates.comp.js b/event_updates/page/event_updates/event_updates.comp.js
deleted file mode 100644
index 3af8868..0000000
--- a/event_updates/page/event_updates/event_updates.comp.js
+++ /dev/null
@@ -1,111 +0,0 @@
-
-pscript['onload_Event Updates']=function(){if(user=='Guest'){loadpage('Login Page');return;}
-pscript.home_make_body();pscript.home_make_status();pscript.home_pre_process();pscript.home_make_widgets();}
-pscript.home_make_body=function(){var wrapper=page_body.pages['Event Updates'];wrapper.main_tab=make_table(wrapper,1,2,'100%',['70%','30%']);$y(wrapper.main_tab,{tableLayout:'fixed'});wrapper.body=$a($td(wrapper.main_tab,0,0),'div','layout_wrapper');wrapper.head=$a(wrapper.body,'div');wrapper.banner_area=$a(wrapper.head,'div');wrapper.toolbar_area=$a(wrapper.head,'div');wrapper.system_message_area=$a(wrapper.body,'div','',{marginBottom:'16px',padding:'8px',backgroundColor:'#FFD',border:'1px dashed #AA6',display:'none'})}
-pscript.home_pre_process=function(wrapper){var wrapper=page_body.pages['Event Updates'];var cp=locals['Control Panel']['Control Panel'];if(cp.client_name){var banner=$a(wrapper.banner_area,'div','',{paddingBottom:'4px'})
-banner.innerHTML=cp.client_name;}
-if(in_list(user_roles,'System Manager')){pscript.complete_registration();}}
-pscript.home_make_widgets=function(){var wrapper=page_body.pages['Event Updates'];var cell=$td(wrapper.main_tab,0,1);sidebar=new wn.widgets.PageSidebar(cell,{sections:[{title:'Calendar',display:function(){return!has_common(user_roles,['Guest','Customer','Vendor'])},render:function(wrapper){new HomeCalendar(new HomeWidget(wrapper,'Calendar','Event'),wrapper);}},{title:'To Do',display:function(){return!has_common(user_roles,['Guest','Customer','Vendor'])},render:function(wrapper){new HomeToDo(new HomeWidget(wrapper,'To Do','Item'));}},{title:'Online Users',display:function(){return!has_common(user_roles,['Guest','Customer','Vendor'])},render:function(wrapper){pscript.online_users_obj=new OnlineUsers(wrapper);}}]})
-sidebar.refresh()
-new FeedList(wrapper.body);}
-OnlineUsers=function(wrapper){var me=this;this.wrapper=wrapper;this.my_company_link=function(){$a($a(wrapper,'div','',{marginBottom:'7px'}),'span','link_type',{color:'#777','color:hover':'#FFF',fontSize:'11px'},'See all users',function(){loadpage('My Company');});}
-this.render=function(online_users){me.my_company_link();if(online_users.length){var max=online_users.length;max=(max>10?10:max)
-for(var i=0;i<max;i++){new OneOnlineUser(me.wrapper,online_users[i]);}}else{$a(wrapper,'div','',{'color':'#888'},'No user online!')}}}
-OneOnlineUser=function(wrapper,det){var name=cstr(det[1])+' '+cstr(det[2]);if(det[1]==user)name='You'
-var div=$a(wrapper,'div','',{padding:'3px 0px'});$a(div,'div','',{width:'7px',height:'7px',cssFloat:'left',margin:'5px',backgroundColor:'green'});$a(div,'div','',{marginLeft:'3px'},name);}
-HomeWidget=function(parent,heading,item){var me=this;this.item=item;this.wrapper=$a(parent,'div');this.body=$a(this.wrapper,'div','',{paddingBottom:'16px'});this.footer=$a(this.wrapper,'div');this.add_btn=$btn(this.footer,'+ Add '+item,function(){me.add()});this.refresh_btn=$ln(this.footer,'Refresh',function(){me.refresh();},{fontSize:'11px',marginLeft:'7px',color:'#888'});}
-HomeWidget.prototype.refresh=function(){var me=this;$di(this.working_img);var callback=function(r,rt){$dh(me.working_img);me.body.innerHTML='';if(me.decorator.setup_body)me.decorator.setup_body();for(var i=0;i<r.message.length;i++){new HomeWidgetItem(me,r.message[i]);}
-if(!r.message.length){$a(me.body,'div','',{color:'#777'},me.no_items_message);}}
-$c_obj('Home Control',this.get_list_method,'',callback);}
-HomeWidget.prototype.make_dialog=function(){var me=this;if(!this.dialog){this.dialog=new wn.widgets.Dialog();this.dialog.make({width:480,title:'New '+this.item,fields:this.dialog_fields});this.dialog.fields_dict.save.input.onclick=function(){this.set_working();me.decorator.save(this);}}}
-HomeWidget.prototype.add=function(){this.make_dialog();this.decorator.clear_dialog();this.dialog.show();}
-HomeWidgetItem=function(widget,det){var me=this;this.det=det;this.widget=widget;this.widget=widget;this.det=det;if(widget.decorator.get_item_parent)parent=widget.decorator.get_item_parent(det);else parent=widget.body;if(!parent)return;this.wrapper=$a(parent,'div');this.tab=make_table(this.wrapper,1,3,'100%',['90%','5%','5%'],{paddingRight:'4px'});this.edit_btn=$a($td(this.tab,0,1),'div','wn-icon '+'ic-doc_edit',{cursor:'pointer'});this.edit_btn.onclick=function(){me.edit();}
-this.del_btn=$a($td(this.tab,0,2),'div','wn-icon '+'ic-trash',{cursor:'pointer'});this.del_btn.onclick=function(){me.delete_item();}
-widget.decorator.render_item(this,det);}
-HomeWidgetItem.prototype.edit=function(){this.widget.make_dialog();this.widget.decorator.set_dialog_values(this.det);this.widget.dialog.show();}
-HomeWidgetItem.prototype.delete_item=function(){var me=this;this.wrapper.innerHTML='<span style="color:#888">Deleting...</span>';var callback=function(r,rt){$(me.wrapper).slideUp();}
-$c_obj('Home Control',this.widget.delete_method,this.widget.get_item_id(this.det),callback);}
-HomeCalendar=function(widget,wrapper){$ln(widget.footer,'Full Calendar',function(){loadpage('_calendar');},{marginLeft:'7px',fontSize:'11px',color:'#888'})
-this.widget=widget;this.widget.get_list_method='get_events_list'
-this.widget.delete_method='delete_event';this.widget.no_items_message='You have no events in the next 7 days';this.widget.get_item_id=function(det){return det.name;}
-this.widget.decorator=this;var hl=[];for(var i=0;i<24;i++){hl.push(((i+8)%24)+':00');}
-this.widget.dialog_fields=[{fieldtype:'Date',fieldname:'event_date',label:'Event Date',reqd:1},{fieldtype:'Time',fieldname:'event_hour',label:'Event Time',reqd:1},{fieldtype:'Text',fieldname:'description',label:'Description',reqd:1},{fieldtype:'Button',fieldname:'save',label:'Save'}];this.widget.refresh();}
-HomeCalendar.prototype.setup_body=function(){var w=this.widget;w.date_blocks={};for(var i=0;i<7;i++){var dt=dateutil.obj_to_str(dateutil.add_days(new Date(),i));var div=$a(w.body,'div','',{padding:'4px 0px',borderBottom:'1px solid #AAA',display:'none'});div.head=$a(div,'div','',{fontWeight:'bold',paddingBottom:'4px'});div.head.innerHTML=(i==0?'Today':(i==1?'Tomorrow':dateutil.str_to_user(dt)))
-w.date_blocks[dt]=div;}}
-HomeCalendar.prototype.get_item_parent=function(det){var d=this.widget.date_blocks[det.event_date];$ds(d);return d;}
-HomeCalendar.prototype.render_item=function(item,det){var tab=make_table($td(item.tab,0,0),1,2,'100%',['48px',null],{padding:'2px',lineHeight:'1.5em'});$y(tab,{tableLayout:'fixed'});$td(tab,0,0).innerHTML='<span style="color:#888">'+det.event_hour+':</span> ';$a($td(tab,0,1),'span','social',{},replace_newlines(det.description));if(det.ref_type&&det.ref_name&&det.ref_name!='None'){var span=$a($a($td(tab,0,1),'div'),'span','link_type');span.innerHTML=det.ref_name;span.dt=det.ref_type;span.onclick=function(){loaddoc(this.dt,this.innerHTML);}}}
-HomeCalendar.prototype.clear_dialog=function(){this.set_dialog_values({event_date:get_today(),event_hour:'8:00',description:''});}
-HomeCalendar.prototype.set_dialog_values=function(det){var d=this.widget.dialog;d.set_values(det);d.det=det;}
-HomeCalendar.prototype.save=function(btn){var d=this.widget.dialog;var me=this;var det=d.get_values();if(!det){btn.done_working();return;}
-det.name=d.det.name;det.owner=user;if(!det.event_type)
-det.event_type='Private';var callback=function(r,rt){btn.done_working();me.widget.dialog.hide();me.widget.refresh();}
-$c_obj('Home Control','edit_event',JSON.stringify(det),callback);}
-HomeToDo=function(widget){this.widget=widget;this.widget.get_list_method='get_todo_list';this.widget.delete_method='remove_todo_item';this.widget.no_items_message='Nothing to do?';this.widget.get_item_id=function(det){return det[0];}
-this.widget.decorator=this;this.widget.dialog_fields=[{fieldtype:'Date',fieldname:'date',label:'Event Date',reqd:1},{fieldtype:'Text',fieldname:'description',label:'Description',reqd:1},{fieldtype:'Check',fieldname:'checked',label:'Completed'},{fieldtype:'Select',fieldname:'priority',label:'Priority',reqd:1,'options':['Medium','High','Low'].join('\n')},{fieldtype:'Button',fieldname:'save',label:'Save'}];this.widget.refresh();}
-HomeToDo.prototype.render_item=function(item,det){var tab=make_table($td(item.tab,0,0),1,2,'100%',['48px',null],{padding:'2px'});$y(tab,{tableLayout:'fixed'});var span=$a($td(tab,0,0),'span','',{padding:'2px',color:'#FFF',fontSize:'10px',backgroundColor:(det[3]=='Low'?'#888':(det[3]=='High'?'#EDA857':'#687FD3'))});$(span).css('-moz-border-radius','3px').css('-webkit-border-radius','3px');span.innerHTML=det[3];var span=$a($td(tab,0,1),'span','social',{lineHeight:'1.5em'},replace_newlines(det[1]));if(det[4])$y(span,{textDecoration:'line-through'});if(!det[4]&&dateutil.str_to_obj(det[2])<new Date()){$y(span,{color:'RED'});$a($td(tab,0,1),'div','',{fontSize:'10px',color:'#666'},dateutil.str_to_user(det[2])+' (Overdue)');}else{$a($td(tab,0,1),'div','',{fontSize:'10px',color:'#666'},dateutil.str_to_user(det[2]));}}
-HomeToDo.prototype.clear_dialog=function(){this.set_dialog_values(['','',get_today(),'Medium',0]);}
-HomeToDo.prototype.set_dialog_values=function(det){var d=this.widget.dialog;d.set_values({date:det[2],priority:det[3],description:det[1],checked:det[4]});d.det=det;}
-HomeToDo.prototype.save=function(btn){var d=this.widget.dialog;var me=this;var det=d.get_values()
-if(!det){btn.done_working();return;}
-det.name=d.det?d.det[0]:'';var callback=function(r,rt){btn.done_working();me.widget.dialog.hide();me.widget.refresh();}
-$c_obj('Home Control','add_todo_item',JSON.stringify(det),callback);}
-FeedList=function(parent){this.auto_feed_off=cint(sys_defaults.auto_feed_off);this.wrapper=$a(parent,'div');this.make_head();this.make_list();this.list.run();}
-FeedList.prototype.make_head=function(){var me=this;this.head=$a(this.wrapper,'div','',{marginBottom:'8px'});$a(this.head,'h1','',{display:'inline'},'Home');$a(this.head,'span','link_type',{marginLeft:'7px'},'[?]',function(){msgprint('<b>What appears here?</b> This is where you get updates of everything you are allowed to access and generates an update')})
-$a(this.head,'span','link_type',{cursor:'pointer',marginLeft:'7px',fontSize:'11px'},'refresh',function(){me.run();});}
-FeedList.prototype.run=function(){this.prev_date=null;this.list.run();}
-FeedList.prototype.make_list=function(){this.list_area=$a(this.wrapper,'div')
-this.no_result=$a(this.wrapper,'div','help_box',{display:'none'},'Nothing to show yet. Your feed will be updated as you start your activities')
-var l=new Listing('Feed List',1);var me=this;l.colwidths=['100%'];l.page_len=20;l.opts.cell_style={padding:'0px'};l.opts.hide_rec_label=1;l.get_query=function(){this.query=repl('select \
-   distinct t1.name, t1.doc_type, t1.doc_name, t1.subject, t1.modified_by, \
-   concat(ifnull(t2.first_name,""), " ", ifnull(t2.last_name,"")), t1.modified, t1.color \
-   from tabFeed t1, tabProfile t2, tabUserRole t3, tabDocPerm t4 \
-   where t1.doc_type = t4.parent \
-   and t2.name = t1.owner \
-   and t3.parent = "%(user)s" \
-   and t4.role = t3.role \
-   and ifnull(t4.`read`,0) = 1 \
-   order by t1.modified desc',{user:user})
-this.query_max=''}
-l.show_cell=function(cell,ri,ci,d){me.render_feed(cell,ri,ci,d);}
-l.onrun=function(){$(me.wrapper).fadeIn();if(me.after_run)me.after_run();}
-l.make(this.list_area);$dh(l.btn_area);this.list=l;}
-FeedList.prototype.after_run=function(){this.list.has_data()?$dh(this.no_result):$ds(this.no_result)}
-FeedList.prototype.render_feed=function(cell,ri,ci,d){new FeedItem(cell,d[ri],this);}
-FeedItem=function(cell,det,feedlist){var me=this;this.det=det;this.feedlist=feedlist;this.wrapper=$a(cell,'div','',{paddingBottom:'4px'});this.head=$a(this.wrapper,'div');this.tab=make_table(this.wrapper,1,2,'100%',[(100/7)+'%',(600/7)+'%']);$y(this.tab,{tableLayout:'fixed'})
-$y($td(this.tab,0,0),{textAlign:'right',paddingRight:'4px'});this.text_area=$a($td(this.tab,0,1),'div');this.render_references(this.text_area,det);this.render_tag(det);this.add_day_sep(det);}
-FeedItem.prototype.add_day_sep=function(det){var me=this;var prev_date=det[6].split(' ')[0];var make_div=function(){var div=$a(me.head,'div','',{borderBottom:'1px solid #888',margin:'8px 0px',padding:'2px 0px',color:'#888',fontSize:'11px'});div.innerHTML=comment_when(det[6],1);if(prev_date==get_today()){div.innerHTML='';span=$a(div,'span','',{padding:'2px',color:'#000',fontWeight:'bold'});span.innerHTML='Today';}}
-if(this.feedlist.prev_date&&this.feedlist.prev_date!=prev_date){make_div();}
-if(!this.feedlist.prev_date){make_div();}
-this.feedlist.prev_date=prev_date;}
-FeedItem.prototype.render_tag=function(det){tag=$a($td(this.tab,0,0),'div','',{color:'#FFF',padding:'3px',textAlign:'right',fontSize:'11px',whiteSpace:'nowrap',overflow:'hidden',cursor:'pointer'});$br(tag,'3px');$y(tag,{backgroundColor:(det[7]?det[7]:'#273')});tag.innerHTML=get_doctype_label(det[1]);tag.dt=det[1]
-tag.onclick=function(){loaddocbrowser(this.dt);}}
-FeedItem.prototype.render_references=function(div,det){div.tab=make_table(div,1,2,'100%',[null,'15%'])
-var dt=det[1];var dn=det[2]
-var allow=in_list(profile.can_read,dt);var span=$a($td(div.tab,0,0),'span',(allow?'link_type':''),null,det[2]);span.dt=dt;span.dn=dn;if(allow)span.onclick=function(){loaddoc(this.dt,this.dn);}
-if(det[3]){$a($td(div.tab,0,0),'span','',{marginLeft:'7px',color:'#444'},det[3]);}
-$y($td(div.tab,0,1),{fontSize:'11px'}).innerHTML=(strip(det[5])?det[5]:det[4]);}
-HomeStatusBar=function(){var me=this;var parent=page_body.pages['Event Updates'];this.wrapper=$a($td(parent.main_tab,0,1),'div','home-status',{},'Loading...');$br(this.wrapper,'3px');this.render=function(r){this.wrapper.innerHTML='';this.span=$a(this.wrapper,'span','home-status-link')
-this.span.onclick=function(){loadpage('My Company')}
-if(r.unread_messages){this.span.innerHTML='<span class="home-status-unread">'+r.unread_messages+'</span> unread message'+(cint(r.unread_messages)>1?'s':'');}else{this.span.innerHTML='No unread messages.';}}}
-pscript.home_make_status=function(){var home_status_bar=new HomeStatusBar()
-var wrapper=page_body.pages['Event Updates'];$c_page('event_updates','event_updates','get_status_details',user,function(r,rt){home_status_bar.render(r.message);if(r.message.system_message)
-pscript.show_system_message(wrapper,r.message.system_message);if(pscript.is_erpnext_saas&&cint(r.message.is_trial)&&in_list(user_roles,'System Manager')){pscript.trial_box=$a(div,'div','help_box',{margin:'2px 8px 2px 0px'},"Your Free Trial expires in "+
-r.message.days_to_expiry+" days. When you are satisfied, please <span class='link_type' onclick='pscript.convert_to_paid()'>please click here</span> to convert to a paid account."+"<br>To get help, view <a href='http://erpnext.blogspot.com/2011/02/getting-started-with-your-erpnext.html' target='_blank'>Getting Started with Your System</a> (opens in a new page)");}
-pscript.online_users_obj.render(r.message.online_users);pscript.online_users=r.message.online_users;});}
-pscript.convert_to_paid=function(){var callback=function(r,rt){if(r.exc){msgprint(r.exc);return;}
-$(pscript.trial_box).slideUp();}
-$c_page('event_updates','event_updates','convert_to_paid','',callback)}
-pscript.show_system_message=function(wrapper,msg){$ds(wrapper.system_message_area);var txt=$a(wrapper.system_message_area,'div','',{lineHeight:'1.6em'});txt.innerHTML=msg;var span=$ln($a(wrapper.system_message_area,'div'),'Dismiss',function(me){me.set_working();$c_obj('Home Control','dismiss_message','',function(r,rt){me.done_working();$(wrapper.system_message_area).slideUp();});},{fontSize:'11px'})}
-pscript.complete_registration=function()
-{var reg_callback=function(r,rt){if(r.message=='No'){var d=new Dialog(400,200,"Please Complete Your Registration");if(user!='Administrator'){d.no_cancel();$dh(page_body.wntoolbar.wrapper);}
-$($a(d.body,'div','',{margin:'8px',color:'#888'})).html('<b>Company Name : </b>'+locals['Control Panel']['Control Panel'].company_name);d.make_body([['Data','Company Abbreviation'],['Select','Fiscal Year Start Date'],['Select','Default Currency'],['Button','Save'],]);pscript.make_dialog_field(d);d.widgets['Save'].onclick=function()
-{d.widgets['Save'].set_working();flag=pscript.validate_fields(d);if(flag)
-{var args=[locals['Control Panel']['Control Panel'].company_name,d.widgets['Company Abbreviation'].value,d.widgets['Fiscal Year Start Date'].value,d.widgets['Default Currency'].value];$c_obj('Setup Control','setup_account',JSON.stringify(args),function(r,rt){sys_defaults=r.message;d.hide();$ds(page_body.wntoolbar.wrapper);});}}
-d.show();}}
-$c_obj('Home Control','registration_complete','',reg_callback);}
-pscript.make_dialog_field=function(d)
-{fisc_format=d.widgets['Fiscal Year Start Date'];add_sel_options(fisc_format,['','1st Jan','1st Apr','1st Jul','1st Oct']);currency_list=['','AED','AFN','ALL','AMD','ANG','AOA','ARS','AUD','AZN','BAM','BBD','BDT','BGN','BHD','BIF','BMD','BND','BOB','BRL','BSD','BTN','BYR','BZD','CAD','CDF','CFA','CFP','CHF','CLP','CNY','COP','CRC','CUC','CZK','DJF','DKK','DOP','DZD','EEK','EGP','ERN','ETB','EUR','EURO','FJD','FKP','FMG','GBP','GEL','GHS','GIP','GMD','GNF','GQE','GTQ','GYD','HKD','HNL','HRK','HTG','HUF','IDR','ILS','INR','IQD','IRR','ISK','JMD','JOD','JPY','KES','KGS','KHR','KMF','KPW','KRW','KWD','KYD','KZT','LAK','LBP','LKR','LRD','LSL','LTL','LVL','LYD','MAD','MDL','MGA','MKD','MMK','MNT','MOP','MRO','MUR','MVR','MWK','MXN','MYR','MZM','NAD','NGN','NIO','NOK','NPR','NRs','NZD','OMR','PAB','PEN','PGK','PHP','PKR','PLN','PYG','QAR','RMB','RON','RSD','RUB','RWF','SAR','SCR','SDG','SDR','SEK','SGD','SHP','SOS','SRD','STD','SYP','SZL','THB','TJS','TMT','TND','TRY','TTD','TWD','TZS','UAE','UAH','UGX','USD','USh','UYU','UZS','VEB','VND','VUV','WST','XAF','XCD','XDR','XOF','XPF','YEN','YER','YTL','ZAR','ZMK','ZWR'];currency=d.widgets['Default Currency'];add_sel_options(currency,currency_list);}
-pscript.validate_fields=function(d)
-{var lst=['Company Abbreviation','Fiscal Year Start Date','Default Currency'];var msg='Please enter the following fields';var flag=1;for(var i=0;i<lst.length;i++)
-{if(!d.widgets[lst[i]].value){flag=0;msg=msg+NEWLINE+lst[i];}}
-if(!flag)alert(msg);return flag;}
\ No newline at end of file
diff --git a/event_updates/page/event_updates/event_updates.txt b/event_updates/page/event_updates/event_updates.txt
deleted file mode 100644
index 6cb8513..0000000
--- a/event_updates/page/event_updates/event_updates.txt
+++ /dev/null
@@ -1 +0,0 @@
-[{'creation': '2010-07-13 12:51:53', 'module': 'Event Updates', 'doctype': 'Page', 'owner': 'Administrator', 'style': None, 'modified_by': 'Administrator', 'script': None, 'show_in_menu': None, 'content': None, 'page_name': 'Event Updates', 'menu_index': None, 'docstatus': 0, 'parent': None, 'standard': 'Yes', 'icon': None, 'name': 'Event Updates', 'idx': None, 'static_content': None, 'modified': '2010-11-27 14:59:10', 'parenttype': None, 'parent_node': None, 'parentfield': None}]
\ No newline at end of file
diff --git a/event_updates/page/profile_settings/profile_settings.comp.js b/event_updates/page/profile_settings/profile_settings.comp.js
deleted file mode 100644
index e2c189d..0000000
--- a/event_updates/page/profile_settings/profile_settings.comp.js
+++ /dev/null
@@ -1,19 +0,0 @@
-
-pscript['onload_profile-settings']=function(){var wrapper=page_body.pages['profile-settings'];pscript.myprofile=new MyProfile(wrapper)}
-MyProfile=function(wrapper){this.wrapper=wrapper;var me=this;this.make=function(){this.head=new PageHeader(this.wrapper,'My Profile Settings');this.head.add_button('Change Password',this.change_password)
-this.tab=make_table($a(this.wrapper,'div','',{marginTop:'19px'}),1,2,'90%',['50%','50%'],{padding:'11px'})
-this.img=$a($td(this.tab,0,0),'img');set_user_img(this.img,user);$btn($a($td(this.tab,0,0),'div','',{marginTop:'11px'}),'Change Image',this.change_image)
-this.make_form();this.load_details();}
-this.load_details=function(){$c_page('event_updates','profile_settings','get_user_details','',function(r,rt){me.form.set_values(r.message);})}
-this.make_form=function(){var div=$a($td(this.tab,0,1),'div');this.form=new wn.widgets.FieldGroup()
-this.form.make_fields(div,[{fieldname:'first_name',fieldtype:'Data',label:'First Name',reqd:1},{fieldname:'last_name',fieldtype:'Data',label:'Last Name',reqd:1},{fieldname:'bio',fieldtype:'Text',label:'Bio'},{fieldname:'update',fieldtype:'Button',label:'Update'}]);this.form.fields_dict.update.input.onclick=function(){var v=me.form.get_values();if(v){this.set_working();var btn=this;$c_page('event_updates','profile_settings','set_user_details',v,function(r,rt){btn.done_working();})}}}
-this.change_password=function(){var d=new wn.widgets.Dialog({title:'Change Password',width:400,fields:[{fieldname:'old_password',fieldtype:'Password',label:'Old Password',reqd:1},{fieldname:'new_password',fieldtype:'Password',label:'New Password',reqd:1},{fieldname:'new_password1',fieldtype:'Password',label:'Re-type New Password',reqd:1},{fieldname:'change',fieldtype:'Button',label:'Change'}]})
-d.make();d.fields_dict.change.input.onclick=function(){var v=d.get_values();if(v){if(v.new_password!=v.new_password1){msgprint('Passwords must match');return;}
-this.set_working();$c_page('event_updates','profile_settings','change_password',v,function(r,rt){if(!r.message&&r.exc){msgprint(r.exc);return;}
-d.hide();})}}
-d.show();}
-this.change_image=function(){if(!me.change_dialog){var d=new Dialog(400,200,'Set Your Profile Image');d.make_body([['HTML','wrapper']]);var w=d.widgets['wrapper'];me.uploader=new Uploader(w,{thumbnail:'80px',server_obj:'Company Control',method:'update_profile_image'},pscript.user_image_upload)
-me.change_dialog=d;}
-me.change_dialog.show();}
-this.make();}
-pscript.user_image_upload=function(fid){msgprint('File Uploaded');if(fid){pscript.myprofile.change_dialog.hide();set_user_img(pscript.myprofile.img,user,null,fid);}}
\ No newline at end of file
diff --git a/event_updates/page/profile_settings/profile_settings.txt b/event_updates/page/profile_settings/profile_settings.txt
deleted file mode 100644
index 881cb12..0000000
--- a/event_updates/page/profile_settings/profile_settings.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-[
-	{
-		'content': None,
-		'creation': '2011-05-09 11:04:27',
-		'docstatus': 0,
-		'doctype': 'Page',
-		'icon': None,
-		'idx': None,
-		'menu_index': None,
-		'modified': '2011-04-13 12:08:59',
-		'modified_by': 'Administrator',
-		'module': 'Event Updates',
-		'name': 'Profile Settings',
-		'owner': 'Administrator',
-		'page_name': 'Profile Settings',
-		'parent': None,
-		'parent_node': None,
-		'parentfield': None,
-		'parenttype': None,
-		'script': None,
-		'show_in_menu': None,
-		'standard': 'Yes',
-		'static_content': None,
-		'style': None
-	}
-]
\ No newline at end of file
diff --git a/home/Module Def/Home/Home.txt b/home/Module Def/Home/Home.txt
new file mode 100644
index 0000000..7613ee8
--- /dev/null
+++ b/home/Module Def/Home/Home.txt
@@ -0,0 +1,28 @@
+[
+	{
+		'creation': '2011-06-09 16:14:42',
+		'disabled': 'No',
+		'docstatus': 0,
+		'doctype': 'Module Def',
+		'doctype_list': None,
+		'file_list': None,
+		'idx': None,
+		'is_hidden': 'No',
+		'last_updated_date': None,
+		'modified': '2011-06-09 16:57:36',
+		'modified_by': 'Administrator',
+		'module_desc': None,
+		'module_icon': None,
+		'module_label': 'Home',
+		'module_name': 'Home',
+		'module_page': 'Event Updates',
+		'module_seq': -1,
+		'name': 'Home',
+		'owner': 'Administrator',
+		'parent': None,
+		'parentfield': None,
+		'parenttype': None,
+		'trash_reason': None,
+		'widget_code': None
+	}
+]
\ No newline at end of file
diff --git a/my_company/page/__init__.py b/home/__init__.py
similarity index 100%
copy from my_company/page/__init__.py
copy to home/__init__.py
diff --git a/home/__init__.pyc b/home/__init__.pyc
new file mode 100644
index 0000000..0d32400
--- /dev/null
+++ b/home/__init__.pyc
Binary files differ
diff --git a/my_company/doctype/__init__.py b/home/doctype/__init__.py
similarity index 100%
rename from my_company/doctype/__init__.py
rename to home/doctype/__init__.py
diff --git a/home/doctype/__init__.pyc b/home/doctype/__init__.pyc
new file mode 100644
index 0000000..be44f74
--- /dev/null
+++ b/home/doctype/__init__.pyc
Binary files differ
diff --git a/my_company/doctype/company_control/__init__.py b/home/doctype/company_control/__init__.py
similarity index 100%
rename from my_company/doctype/company_control/__init__.py
rename to home/doctype/company_control/__init__.py
diff --git a/my_company/doctype/company_control/company_control.py b/home/doctype/company_control/company_control.py
similarity index 100%
rename from my_company/doctype/company_control/company_control.py
rename to home/doctype/company_control/company_control.py
diff --git a/home/doctype/company_control/company_control.txt b/home/doctype/company_control/company_control.txt
new file mode 100644
index 0000000..9ec6fe3
--- /dev/null
+++ b/home/doctype/company_control/company_control.txt
@@ -0,0 +1,58 @@
+[
+	{
+		'_last_update': None,
+		'allow_attach': None,
+		'allow_copy': None,
+		'allow_email': None,
+		'allow_print': None,
+		'allow_rename': None,
+		'allow_trash': None,
+		'autoname': None,
+		'change_log': None,
+		'client_script': None,
+		'client_script_core': '',
+		'client_string': None,
+		'colour': 'White:FFF',
+		'creation': '2010-08-08 17:08:55',
+		'description': None,
+		'docstatus': 0,
+		'doctype': 'DocType',
+		'document_type': None,
+		'dt_template': None,
+		'hide_heading': None,
+		'hide_toolbar': None,
+		'idx': None,
+		'in_create': None,
+		'in_dialog': None,
+		'is_transaction_doc': None,
+		'issingle': 1,
+		'istable': None,
+		'max_attachments': None,
+		'menu_index': None,
+		'modified': '2010-11-17 16:25:34',
+		'modified_by': 'Administrator',
+		'module': 'Home',
+		'name': 'Company Control',
+		'name_case': '',
+		'owner': 'Administrator',
+		'parent': None,
+		'parent_node': None,
+		'parentfield': None,
+		'parenttype': None,
+		'print_outline': '',
+		'read_only': None,
+		'read_only_onload': None,
+		'search_fields': None,
+		'section_style': 'Simple',
+		'server_code': None,
+		'server_code_compiled': None,
+		'server_code_core': None,
+		'server_code_error': ' ',
+		'show_in_menu': None,
+		'smallicon': None,
+		'subject': None,
+		'tag_fields': None,
+		'use_template': None,
+		'version': 7
+	}
+]
\ No newline at end of file
diff --git a/event_updates/doctype/feed/__init__.py b/home/doctype/feed/__init__.py
similarity index 100%
rename from event_updates/doctype/feed/__init__.py
rename to home/doctype/feed/__init__.py
diff --git a/event_updates/doctype/feed/feed.py b/home/doctype/feed/feed.py
similarity index 100%
rename from event_updates/doctype/feed/feed.py
rename to home/doctype/feed/feed.py
diff --git a/event_updates/doctype/feed/feed.txt b/home/doctype/feed/feed.txt
similarity index 85%
rename from event_updates/doctype/feed/feed.txt
rename to home/doctype/feed/feed.txt
index 33a47d0..abf306d 100644
--- a/event_updates/doctype/feed/feed.txt
+++ b/home/doctype/feed/feed.txt
@@ -13,7 +13,7 @@
 		'client_script_core': None,
 		'client_string': None,
 		'colour': 'White:FFF',
-		'creation': '2011-05-09 11:04:25',
+		'creation': '2011-04-06 18:07:23',
 		'description': None,
 		'docstatus': 0,
 		'doctype': 'DocType',
@@ -29,9 +29,9 @@
 		'istable': None,
 		'max_attachments': None,
 		'menu_index': None,
-		'modified': '2011-04-05 09:16:57',
+		'modified': '2011-06-09 16:42:12',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'Feed',
 		'name_case': None,
 		'owner': 'Administrator',
@@ -50,13 +50,15 @@
 		'server_code_error': None,
 		'show_in_menu': 0,
 		'smallicon': None,
+		'subject': None,
+		'tag_fields': None,
 		'use_template': None,
-		'version': 1
+		'version': 2
 	},
 	{
 		'allow_on_submit': None,
 		'colour': None,
-		'creation': '2011-05-09 11:04:25',
+		'creation': '2011-04-06 18:07:23',
 		'default': None,
 		'depends_on': None,
 		'description': None,
@@ -69,9 +71,10 @@
 		'idx': 1,
 		'in_filter': None,
 		'label': 'Doc Type',
-		'modified': '2011-05-09 11:04:25',
+		'modified': '2011-06-09 16:42:12',
 		'modified_by': 'Administrator',
-		'name': '000000400',
+		'name': '000000498',
+		'no_column': None,
 		'no_copy': None,
 		'oldfieldname': None,
 		'oldfieldtype': None,
@@ -91,7 +94,7 @@
 	{
 		'allow_on_submit': None,
 		'colour': None,
-		'creation': '2011-05-09 11:04:25',
+		'creation': '2011-04-06 18:07:24',
 		'default': None,
 		'depends_on': None,
 		'description': None,
@@ -104,9 +107,10 @@
 		'idx': 2,
 		'in_filter': None,
 		'label': 'Doc Name',
-		'modified': '2011-05-09 11:04:25',
+		'modified': '2011-06-09 16:42:12',
 		'modified_by': 'Administrator',
-		'name': '000000401',
+		'name': '000000499',
+		'no_column': None,
 		'no_copy': None,
 		'oldfieldname': None,
 		'oldfieldtype': None,
@@ -126,7 +130,7 @@
 	{
 		'allow_on_submit': None,
 		'colour': None,
-		'creation': '2011-05-09 11:04:25',
+		'creation': '2011-04-06 18:07:24',
 		'default': None,
 		'depends_on': None,
 		'description': None,
@@ -139,9 +143,10 @@
 		'idx': 3,
 		'in_filter': None,
 		'label': 'Subject',
-		'modified': '2011-05-09 11:04:25',
+		'modified': '2011-06-09 16:42:12',
 		'modified_by': 'Administrator',
-		'name': '000000402',
+		'name': '000000500',
+		'no_column': None,
 		'no_copy': None,
 		'oldfieldname': None,
 		'oldfieldtype': None,
@@ -161,7 +166,7 @@
 	{
 		'allow_on_submit': None,
 		'colour': None,
-		'creation': '2011-05-09 11:04:25',
+		'creation': '2011-04-06 18:07:24',
 		'default': None,
 		'depends_on': None,
 		'description': None,
@@ -174,9 +179,10 @@
 		'idx': 4,
 		'in_filter': None,
 		'label': 'Color',
-		'modified': '2011-05-09 11:04:25',
+		'modified': '2011-06-09 16:42:12',
 		'modified_by': 'Administrator',
-		'name': '000000403',
+		'name': '000000501',
+		'no_column': None,
 		'no_copy': None,
 		'oldfieldname': None,
 		'oldfieldtype': None,
diff --git a/event_updates/doctype/home_control/__init__.py b/home/doctype/home_control/__init__.py
similarity index 100%
rename from event_updates/doctype/home_control/__init__.py
rename to home/doctype/home_control/__init__.py
diff --git a/home/doctype/home_control/__init__.pyc b/home/doctype/home_control/__init__.pyc
new file mode 100644
index 0000000..f2aa585
--- /dev/null
+++ b/home/doctype/home_control/__init__.pyc
Binary files differ
diff --git a/event_updates/doctype/home_control/home_control.js b/home/doctype/home_control/home_control.js
similarity index 100%
rename from event_updates/doctype/home_control/home_control.js
rename to home/doctype/home_control/home_control.js
diff --git a/event_updates/doctype/home_control/home_control.py b/home/doctype/home_control/home_control.py
similarity index 100%
rename from event_updates/doctype/home_control/home_control.py
rename to home/doctype/home_control/home_control.py
diff --git a/home/doctype/home_control/home_control.pyc b/home/doctype/home_control/home_control.pyc
new file mode 100644
index 0000000..6709adf
--- /dev/null
+++ b/home/doctype/home_control/home_control.pyc
Binary files differ
diff --git a/home/doctype/home_control/home_control.txt b/home/doctype/home_control/home_control.txt
new file mode 100644
index 0000000..4113a61
--- /dev/null
+++ b/home/doctype/home_control/home_control.txt
@@ -0,0 +1,81 @@
+[
+	{
+		'_last_update': None,
+		'allow_attach': None,
+		'allow_copy': None,
+		'allow_email': None,
+		'allow_print': None,
+		'allow_rename': None,
+		'allow_trash': None,
+		'autoname': None,
+		'change_log': None,
+		'client_script': None,
+		'client_script_core': '',
+		'client_string': None,
+		'colour': 'White:FFF',
+		'creation': '2009-07-09 16:32:49',
+		'description': None,
+		'docstatus': 0,
+		'doctype': 'DocType',
+		'document_type': None,
+		'dt_template': None,
+		'hide_heading': None,
+		'hide_toolbar': None,
+		'idx': None,
+		'in_create': None,
+		'in_dialog': None,
+		'is_transaction_doc': None,
+		'issingle': 1,
+		'istable': None,
+		'max_attachments': None,
+		'menu_index': None,
+		'modified': '2011-06-09 16:42:37',
+		'modified_by': 'Administrator',
+		'module': 'Home',
+		'name': 'Home Control',
+		'name_case': None,
+		'owner': 'Administrator',
+		'parent': None,
+		'parent_node': None,
+		'parentfield': None,
+		'parenttype': None,
+		'print_outline': None,
+		'read_only': None,
+		'read_only_onload': None,
+		'search_fields': None,
+		'section_style': 'Simple',
+		'server_code': None,
+		'server_code_compiled': None,
+		'server_code_core': None,
+		'server_code_error': ' ',
+		'show_in_menu': 0,
+		'smallicon': None,
+		'subject': None,
+		'tag_fields': None,
+		'use_template': None,
+		'version': 4
+	},
+	{
+		'amend': None,
+		'cancel': None,
+		'create': 1,
+		'creation': '2010-10-19 13:01:06',
+		'docstatus': 0,
+		'doctype': 'DocPerm',
+		'execute': None,
+		'idx': 1,
+		'match': None,
+		'modified': '2011-06-09 16:42:37',
+		'modified_by': 'Administrator',
+		'name': 'PERM00716',
+		'owner': 'Administrator',
+		'parent': 'Home Control',
+		'parentfield': 'permissions',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'read': 1,
+		'role': 'Guest',
+		'submit': None,
+		'write': 1
+	}
+]
\ No newline at end of file
diff --git a/event_updates/doctype/widget_control/__init__.py b/home/doctype/widget_control/__init__.py
similarity index 100%
rename from event_updates/doctype/widget_control/__init__.py
rename to home/doctype/widget_control/__init__.py
diff --git a/event_updates/doctype/widget_control/widget_control.py b/home/doctype/widget_control/widget_control.py
similarity index 100%
rename from event_updates/doctype/widget_control/widget_control.py
rename to home/doctype/widget_control/widget_control.py
diff --git a/home/doctype/widget_control/widget_control.txt b/home/doctype/widget_control/widget_control.txt
new file mode 100644
index 0000000..6380320
--- /dev/null
+++ b/home/doctype/widget_control/widget_control.txt
@@ -0,0 +1,58 @@
+[
+	{
+		'_last_update': None,
+		'allow_attach': None,
+		'allow_copy': None,
+		'allow_email': None,
+		'allow_print': None,
+		'allow_rename': None,
+		'allow_trash': None,
+		'autoname': None,
+		'change_log': None,
+		'client_script': None,
+		'client_script_core': '',
+		'client_string': None,
+		'colour': 'White:FFF',
+		'creation': '2010-08-08 17:09:30',
+		'description': None,
+		'docstatus': 0,
+		'doctype': 'DocType',
+		'document_type': None,
+		'dt_template': None,
+		'hide_heading': None,
+		'hide_toolbar': None,
+		'idx': None,
+		'in_create': None,
+		'in_dialog': None,
+		'is_transaction_doc': None,
+		'issingle': 1,
+		'istable': 0,
+		'max_attachments': None,
+		'menu_index': None,
+		'modified': '2011-06-09 16:44:21',
+		'modified_by': 'Administrator',
+		'module': 'Home',
+		'name': 'Widget Control',
+		'name_case': None,
+		'owner': 'Administrator',
+		'parent': None,
+		'parent_node': None,
+		'parentfield': None,
+		'parenttype': None,
+		'print_outline': None,
+		'read_only': None,
+		'read_only_onload': None,
+		'search_fields': None,
+		'section_style': 'Simple',
+		'server_code': None,
+		'server_code_compiled': None,
+		'server_code_core': None,
+		'server_code_error': ' ',
+		'show_in_menu': 0,
+		'smallicon': None,
+		'subject': None,
+		'tag_fields': None,
+		'use_template': None,
+		'version': 28
+	}
+]
\ No newline at end of file
diff --git a/home/page/.DS_Store b/home/page/.DS_Store
new file mode 100644
index 0000000..5008ddf
--- /dev/null
+++ b/home/page/.DS_Store
Binary files differ
diff --git a/my_company/page/__init__.py b/home/page/__init__.py
similarity index 100%
rename from my_company/page/__init__.py
rename to home/page/__init__.py
diff --git a/home/page/event_updates/.DS_Store b/home/page/event_updates/.DS_Store
new file mode 100644
index 0000000..5008ddf
--- /dev/null
+++ b/home/page/event_updates/.DS_Store
Binary files differ
diff --git a/event_updates/page/event_updates/__init__.py b/home/page/event_updates/__init__.py
similarity index 100%
rename from event_updates/page/event_updates/__init__.py
rename to home/page/event_updates/__init__.py
diff --git a/event_updates/page/event_updates/event_updates.css b/home/page/event_updates/event_updates.css
similarity index 100%
rename from event_updates/page/event_updates/event_updates.css
rename to home/page/event_updates/event_updates.css
diff --git a/event_updates/page/event_updates/event_updates.html b/home/page/event_updates/event_updates.html
similarity index 100%
rename from event_updates/page/event_updates/event_updates.html
rename to home/page/event_updates/event_updates.html
diff --git a/event_updates/page/event_updates/event_updates.js b/home/page/event_updates/event_updates.js
similarity index 100%
rename from event_updates/page/event_updates/event_updates.js
rename to home/page/event_updates/event_updates.js
diff --git a/event_updates/page/event_updates/event_updates.py b/home/page/event_updates/event_updates.py
similarity index 100%
rename from event_updates/page/event_updates/event_updates.py
rename to home/page/event_updates/event_updates.py
diff --git a/home/page/event_updates/event_updates.txt b/home/page/event_updates/event_updates.txt
new file mode 100644
index 0000000..d35b759
--- /dev/null
+++ b/home/page/event_updates/event_updates.txt
@@ -0,0 +1,36 @@
+[
+	{
+		'author': None,
+		'category': None,
+		'content': None,
+		'creation': '2010-12-14 10:33:09',
+		'docstatus': 0,
+		'doctype': 'Page',
+		'file_list': None,
+		'icon': None,
+		'idx': None,
+		'keywords': None,
+		'menu_index': None,
+		'modified': '2010-12-23 11:48:49',
+		'modified_by': 'Administrator',
+		'module': 'Home',
+		'name': 'Event Updates',
+		'owner': 'Administrator',
+		'page_name': 'Event Updates',
+		'page_title': None,
+		'parent': None,
+		'parent_node': None,
+		'parentfield': None,
+		'parenttype': None,
+		'publish': None,
+		'script': None,
+		'show_in_menu': None,
+		'site_description': None,
+		'standard': 'Yes',
+		'static_content': None,
+		'style': None,
+		'stylesheet': None,
+		'template': None,
+		'write_content': None
+	}
+]
\ No newline at end of file
diff --git a/event_updates/page/event_updates/event_updates_static.html b/home/page/event_updates/event_updates_static.html
similarity index 100%
rename from event_updates/page/event_updates/event_updates_static.html
rename to home/page/event_updates/event_updates_static.html
diff --git a/my_company/page/my_company/__init__.py b/home/page/my_company/__init__.py
similarity index 100%
rename from my_company/page/my_company/__init__.py
rename to home/page/my_company/__init__.py
diff --git a/my_company/page/my_company/my_company.css b/home/page/my_company/my_company.css
similarity index 100%
rename from my_company/page/my_company/my_company.css
rename to home/page/my_company/my_company.css
diff --git a/my_company/page/my_company/my_company.html b/home/page/my_company/my_company.html
similarity index 100%
rename from my_company/page/my_company/my_company.html
rename to home/page/my_company/my_company.html
diff --git a/my_company/page/my_company/my_company.js b/home/page/my_company/my_company.js
similarity index 100%
rename from my_company/page/my_company/my_company.js
rename to home/page/my_company/my_company.js
diff --git a/my_company/page/my_company/my_company.py b/home/page/my_company/my_company.py
similarity index 100%
rename from my_company/page/my_company/my_company.py
rename to home/page/my_company/my_company.py
diff --git a/home/page/my_company/my_company.txt b/home/page/my_company/my_company.txt
new file mode 100644
index 0000000..61aed51
--- /dev/null
+++ b/home/page/my_company/my_company.txt
@@ -0,0 +1,64 @@
+[
+	{
+		'author': None,
+		'category': None,
+		'content': '',
+		'creation': '2010-12-14 10:33:09',
+		'docstatus': 0,
+		'doctype': 'Page',
+		'file_list': None,
+		'icon': None,
+		'idx': None,
+		'keywords': None,
+		'menu_index': None,
+		'modified': '2010-12-01 17:09:46',
+		'modified_by': 'Administrator',
+		'module': 'Home',
+		'name': 'My Company',
+		'owner': 'Administrator',
+		'page_name': 'My Company',
+		'page_title': None,
+		'parent': None,
+		'parent_node': None,
+		'parentfield': None,
+		'parenttype': None,
+		'publish': None,
+		'script': None,
+		'show_in_menu': 1,
+		'site_description': None,
+		'standard': 'Yes',
+		'static_content': '',
+		'style': '',
+		'stylesheet': None,
+		'template': None,
+		'write_content': None
+	},
+	{
+		'creation': '2010-12-14 10:33:09',
+		'docstatus': 0,
+		'doctype': 'Page Role',
+		'idx': 1,
+		'modified': '2010-12-14 10:33:09',
+		'modified_by': 'Administrator',
+		'name': 'PR000235',
+		'owner': 'Administrator',
+		'parent': 'My Company',
+		'parentfield': 'roles',
+		'parenttype': 'Page',
+		'role': 'Administrator'
+	},
+	{
+		'creation': '2010-12-14 10:33:09',
+		'docstatus': 0,
+		'doctype': 'Page Role',
+		'idx': 2,
+		'modified': '2010-12-14 10:33:09',
+		'modified_by': 'Administrator',
+		'name': 'PR000236',
+		'owner': 'nabin@webnotestech.com',
+		'parent': 'My Company',
+		'parentfield': 'roles',
+		'parenttype': 'Page',
+		'role': 'All'
+	}
+]
\ No newline at end of file
diff --git a/event_updates/page/profile_settings/__init__.py b/home/page/profile_settings/__init__.py
similarity index 100%
rename from event_updates/page/profile_settings/__init__.py
rename to home/page/profile_settings/__init__.py
diff --git a/event_updates/page/profile_settings/profile_settings.html b/home/page/profile_settings/profile_settings.html
similarity index 100%
rename from event_updates/page/profile_settings/profile_settings.html
rename to home/page/profile_settings/profile_settings.html
diff --git a/event_updates/page/profile_settings/profile_settings.js b/home/page/profile_settings/profile_settings.js
similarity index 98%
rename from event_updates/page/profile_settings/profile_settings.js
rename to home/page/profile_settings/profile_settings.js
index 573be41..0e45276 100644
--- a/event_updates/page/profile_settings/profile_settings.js
+++ b/home/page/profile_settings/profile_settings.js
@@ -1,5 +1,6 @@
 pscript['onload_profile-settings'] = function() {
 	var wrapper = page_body.pages['profile-settings'];
+	wrapper.className = 'layout_wrapper';
 	pscript.myprofile = new MyProfile(wrapper)
 }
 
diff --git a/event_updates/page/profile_settings/profile_settings.py b/home/page/profile_settings/profile_settings.py
similarity index 100%
rename from event_updates/page/profile_settings/profile_settings.py
rename to home/page/profile_settings/profile_settings.py
diff --git a/home/page/profile_settings/profile_settings.txt b/home/page/profile_settings/profile_settings.txt
new file mode 100644
index 0000000..2bd11e0
--- /dev/null
+++ b/home/page/profile_settings/profile_settings.txt
@@ -0,0 +1,36 @@
+[
+	{
+		'author': None,
+		'category': 'Standard',
+		'content': None,
+		'creation': '2011-04-13 12:08:59',
+		'docstatus': 0,
+		'doctype': 'Page',
+		'file_list': None,
+		'icon': None,
+		'idx': None,
+		'keywords': None,
+		'menu_index': None,
+		'modified': '2011-04-13 12:08:59',
+		'modified_by': 'Administrator',
+		'module': 'Home',
+		'name': 'profile-settings',
+		'owner': 'Administrator',
+		'page_name': 'Profile Settings',
+		'page_title': None,
+		'parent': None,
+		'parent_node': None,
+		'parentfield': None,
+		'parenttype': None,
+		'publish': None,
+		'script': None,
+		'show_in_menu': None,
+		'site_description': None,
+		'standard': 'Yes',
+		'static_content': None,
+		'style': None,
+		'stylesheet': None,
+		'template': None,
+		'write_content': None
+	}
+]
\ No newline at end of file
diff --git a/event_updates/search_criteria/__init__.py b/home/search_criteria/__init__.py
similarity index 100%
rename from event_updates/search_criteria/__init__.py
rename to home/search_criteria/__init__.py
diff --git a/event_updates/search_criteria/bills_to_be_paid/__init__.py b/home/search_criteria/bills_to_be_paid/__init__.py
similarity index 100%
rename from event_updates/search_criteria/bills_to_be_paid/__init__.py
rename to home/search_criteria/bills_to_be_paid/__init__.py
diff --git a/event_updates/search_criteria/bills_to_be_paid/bills_to_be_paid.txt b/home/search_criteria/bills_to_be_paid/bills_to_be_paid.txt
similarity index 97%
rename from event_updates/search_criteria/bills_to_be_paid/bills_to_be_paid.txt
rename to home/search_criteria/bills_to_be_paid/bills_to_be_paid.txt
index e454f49..d0df7ae 100644
--- a/event_updates/search_criteria/bills_to_be_paid/bills_to_be_paid.txt
+++ b/home/search_criteria/bills_to_be_paid/bills_to_be_paid.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-13 17:26:48',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'bills-to_be_paid',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/bills_to_be_submitted/__init__.py b/home/search_criteria/bills_to_be_submitted/__init__.py
similarity index 100%
rename from event_updates/search_criteria/bills_to_be_submitted/__init__.py
rename to home/search_criteria/bills_to_be_submitted/__init__.py
diff --git a/event_updates/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt b/home/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt
similarity index 97%
rename from event_updates/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt
rename to home/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt
index f45a040..69273bd 100644
--- a/event_updates/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt
+++ b/home/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-03 12:24:43',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'bills-to_be_submitted',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/delivery_note_to_be_billed/__init__.py b/home/search_criteria/delivery_note_to_be_billed/__init__.py
similarity index 100%
rename from event_updates/search_criteria/delivery_note_to_be_billed/__init__.py
rename to home/search_criteria/delivery_note_to_be_billed/__init__.py
diff --git a/event_updates/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt b/home/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt
similarity index 97%
rename from event_updates/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt
rename to home/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt
index ec64dcb..05fd4f4 100644
--- a/event_updates/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt
+++ b/home/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-13 17:24:34',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'delivery_note-to_be_billed',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/delivery_note_to_be_submitted/__init__.py b/home/search_criteria/delivery_note_to_be_submitted/__init__.py
similarity index 100%
rename from event_updates/search_criteria/delivery_note_to_be_submitted/__init__.py
rename to home/search_criteria/delivery_note_to_be_submitted/__init__.py
diff --git a/event_updates/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt b/home/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt
similarity index 97%
rename from event_updates/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt
rename to home/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt
index 90ce8c6..1a7a1ef 100644
--- a/event_updates/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt
+++ b/home/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-13 17:17:58',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'delivery_note-to_be_submitted',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/enquiry_quotations_to_be_sent/__init__.py b/home/search_criteria/enquiry_quotations_to_be_sent/__init__.py
similarity index 100%
rename from event_updates/search_criteria/enquiry_quotations_to_be_sent/__init__.py
rename to home/search_criteria/enquiry_quotations_to_be_sent/__init__.py
diff --git a/event_updates/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt b/home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt
similarity index 96%
rename from event_updates/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt
rename to home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt
index 82491c4..d65dd98 100644
--- a/event_updates/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt
+++ b/home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-07-16 13:29:58',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'enquiry-quotations_to_be_sent',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/enquiry_to_follow_up/__init__.py b/home/search_criteria/enquiry_to_follow_up/__init__.py
similarity index 100%
rename from event_updates/search_criteria/enquiry_to_follow_up/__init__.py
rename to home/search_criteria/enquiry_to_follow_up/__init__.py
diff --git a/event_updates/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js b/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js
similarity index 100%
rename from event_updates/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js
rename to home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js
diff --git a/event_updates/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt b/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt
similarity index 94%
rename from event_updates/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt
rename to home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt
index 96574b6..e16a8f6 100644
--- a/event_updates/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt
+++ b/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-08-30 12:08:00',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'enquiry-to_follow_up',
 		'owner': 'Administrator',
 		'page_len': 50,
@@ -28,7 +28,7 @@
 		'parent_doc_type': None,
 		'parentfield': None,
 		'parenttype': None,
-		'report_script': None,
+		'report_script': '',
 		'server_script': None,
 		'sort_by': '`tabEnquiry`.`name`',
 		'sort_order': 'DESC',
diff --git a/event_updates/search_criteria/indent_purchase_order_to_be_made/__init__.py b/home/search_criteria/indent_purchase_order_to_be_made/__init__.py
similarity index 100%
rename from event_updates/search_criteria/indent_purchase_order_to_be_made/__init__.py
rename to home/search_criteria/indent_purchase_order_to_be_made/__init__.py
diff --git a/event_updates/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt b/home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt
similarity index 97%
rename from event_updates/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt
rename to home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt
index 00b17a1..31949d6 100644
--- a/event_updates/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt
+++ b/home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-13 17:37:18',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'indent-purchase_order_to_be_made',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/indent_to_be_submitted/__init__.py b/home/search_criteria/indent_to_be_submitted/__init__.py
similarity index 100%
rename from event_updates/search_criteria/indent_to_be_submitted/__init__.py
rename to home/search_criteria/indent_to_be_submitted/__init__.py
diff --git a/event_updates/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt b/home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt
similarity index 96%
rename from event_updates/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt
rename to home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt
index 475aadd..09768c0 100644
--- a/event_updates/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt
+++ b/home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-13 17:38:49',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'indent-to_be_submitted',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/invoices_overdue/__init__.py b/home/search_criteria/invoices_overdue/__init__.py
similarity index 100%
rename from event_updates/search_criteria/invoices_overdue/__init__.py
rename to home/search_criteria/invoices_overdue/__init__.py
diff --git a/event_updates/search_criteria/invoices_overdue/invoices_overdue.txt b/home/search_criteria/invoices_overdue/invoices_overdue.txt
similarity index 97%
rename from event_updates/search_criteria/invoices_overdue/invoices_overdue.txt
rename to home/search_criteria/invoices_overdue/invoices_overdue.txt
index 6830537..077d3c1 100644
--- a/event_updates/search_criteria/invoices_overdue/invoices_overdue.txt
+++ b/home/search_criteria/invoices_overdue/invoices_overdue.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-04-30 17:08:52',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'invoices-overdue',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/invoices_to_be_submitted/__init__.py b/home/search_criteria/invoices_to_be_submitted/__init__.py
similarity index 100%
rename from event_updates/search_criteria/invoices_to_be_submitted/__init__.py
rename to home/search_criteria/invoices_to_be_submitted/__init__.py
diff --git a/event_updates/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt b/home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt
similarity index 97%
rename from event_updates/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt
rename to home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt
index 652cf5e..3a887c8 100644
--- a/event_updates/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt
+++ b/home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-03 10:18:56',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'invoices-to_be_submitted',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/invoices_to_receive_payment/__init__.py b/home/search_criteria/invoices_to_receive_payment/__init__.py
similarity index 100%
rename from event_updates/search_criteria/invoices_to_receive_payment/__init__.py
rename to home/search_criteria/invoices_to_receive_payment/__init__.py
diff --git a/event_updates/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt b/home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt
similarity index 97%
rename from event_updates/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt
rename to home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt
index 322f04e..1ccb571 100644
--- a/event_updates/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt
+++ b/home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-04-30 16:54:26',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'invoices-to_receive_payment',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/lead_to_follow_up/__init__.py b/home/search_criteria/lead_to_follow_up/__init__.py
similarity index 100%
rename from event_updates/search_criteria/lead_to_follow_up/__init__.py
rename to home/search_criteria/lead_to_follow_up/__init__.py
diff --git a/event_updates/search_criteria/lead_to_follow_up/lead_to_follow_up.js b/home/search_criteria/lead_to_follow_up/lead_to_follow_up.js
similarity index 100%
rename from event_updates/search_criteria/lead_to_follow_up/lead_to_follow_up.js
rename to home/search_criteria/lead_to_follow_up/lead_to_follow_up.js
diff --git a/event_updates/search_criteria/lead_to_follow_up/lead_to_follow_up.txt b/home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt
similarity index 95%
rename from event_updates/search_criteria/lead_to_follow_up/lead_to_follow_up.txt
rename to home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt
index e1536eb..2d4bd28 100644
--- a/event_updates/search_criteria/lead_to_follow_up/lead_to_follow_up.txt
+++ b/home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-08-30 12:01:19',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'lead-to_follow_up',
 		'owner': 'Administrator',
 		'page_len': 50,
@@ -28,7 +28,7 @@
 		'parent_doc_type': None,
 		'parentfield': None,
 		'parenttype': None,
-		'report_script': None,
+		'report_script': '',
 		'server_script': None,
 		'sort_by': '`tabLead`.`name`',
 		'sort_order': 'DESC',
diff --git a/event_updates/search_criteria/sales_order_overdue/sales_order_overdue.js b/home/search_criteria/lead_to_follow_up/sales_order_overdue.js
similarity index 100%
rename from event_updates/search_criteria/sales_order_overdue/sales_order_overdue.js
rename to home/search_criteria/lead_to_follow_up/sales_order_overdue.js
diff --git a/event_updates/search_criteria/purchase_order_to_be_billed/__init__.py b/home/search_criteria/purchase_order_to_be_billed/__init__.py
similarity index 100%
rename from event_updates/search_criteria/purchase_order_to_be_billed/__init__.py
rename to home/search_criteria/purchase_order_to_be_billed/__init__.py
diff --git a/event_updates/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt b/home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt
similarity index 97%
rename from event_updates/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt
rename to home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt
index c84afa7..b9d28e3 100644
--- a/event_updates/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt
+++ b/home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-13 17:31:42',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'purchase_order-to_be_billed',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/purchase_order_to_be_submitted/__init__.py b/home/search_criteria/purchase_order_to_be_submitted/__init__.py
similarity index 100%
rename from event_updates/search_criteria/purchase_order_to_be_submitted/__init__.py
rename to home/search_criteria/purchase_order_to_be_submitted/__init__.py
diff --git a/event_updates/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt b/home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt
similarity index 97%
rename from event_updates/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt
rename to home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt
index 41f1d7f..728d576 100644
--- a/event_updates/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt
+++ b/home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-03 11:19:23',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'purchase_order-to_be_submitted',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/purchase_order_to_receive_items/__init__.py b/home/search_criteria/purchase_order_to_receive_items/__init__.py
similarity index 100%
rename from event_updates/search_criteria/purchase_order_to_receive_items/__init__.py
rename to home/search_criteria/purchase_order_to_receive_items/__init__.py
diff --git a/event_updates/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt b/home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt
similarity index 97%
rename from event_updates/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt
rename to home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt
index 51f5144..a40e17e 100644
--- a/event_updates/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt
+++ b/home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-13 17:34:22',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'purchase_order-to_receive_items',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/sales_order_overdue/__init__.py b/home/search_criteria/sales_order_overdue/__init__.py
similarity index 100%
rename from event_updates/search_criteria/sales_order_overdue/__init__.py
rename to home/search_criteria/sales_order_overdue/__init__.py
diff --git a/event_updates/search_criteria/sales_order_overdue/sales_order_overdue.txt b/home/search_criteria/sales_order_overdue/sales_order_overdue.txt
similarity index 95%
rename from event_updates/search_criteria/sales_order_overdue/sales_order_overdue.txt
rename to home/search_criteria/sales_order_overdue/sales_order_overdue.txt
index 5e216cc..4c5101f 100644
--- a/event_updates/search_criteria/sales_order_overdue/sales_order_overdue.txt
+++ b/home/search_criteria/sales_order_overdue/sales_order_overdue.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-08-26 11:52:09',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'sales_order-overdue',
 		'owner': 'Administrator',
 		'page_len': 50,
@@ -28,7 +28,7 @@
 		'parent_doc_type': None,
 		'parentfield': None,
 		'parenttype': None,
-		'report_script': None,
+		'report_script': '',
 		'server_script': None,
 		'sort_by': '`tabSales Order`.`name`',
 		'sort_order': 'DESC',
diff --git a/event_updates/search_criteria/sales_order_to_be_billed/__init__.py b/home/search_criteria/sales_order_to_be_billed/__init__.py
similarity index 100%
rename from event_updates/search_criteria/sales_order_to_be_billed/__init__.py
rename to home/search_criteria/sales_order_to_be_billed/__init__.py
diff --git a/event_updates/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt b/home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt
similarity index 97%
rename from event_updates/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt
rename to home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt
index b9d942b..f321549 100644
--- a/event_updates/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt
+++ b/home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-13 17:45:37',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'sales_order-to_be_billed',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/sales_order_to_be_delivered/__init__.py b/home/search_criteria/sales_order_to_be_delivered/__init__.py
similarity index 100%
rename from event_updates/search_criteria/sales_order_to_be_delivered/__init__.py
rename to home/search_criteria/sales_order_to_be_delivered/__init__.py
diff --git a/event_updates/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt b/home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt
similarity index 97%
rename from event_updates/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt
rename to home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt
index 0e9f737..2c615b6 100644
--- a/event_updates/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt
+++ b/home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-13 17:53:29',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'sales_order-to_be_delivered',
 		'owner': 'Administrator',
 		'page_len': 100,
diff --git a/event_updates/search_criteria/sales_order_to_be_submitted/__init__.py b/home/search_criteria/sales_order_to_be_submitted/__init__.py
similarity index 100%
rename from event_updates/search_criteria/sales_order_to_be_submitted/__init__.py
rename to home/search_criteria/sales_order_to_be_submitted/__init__.py
diff --git a/event_updates/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt b/home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt
similarity index 96%
rename from event_updates/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt
rename to home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt
index 0e1a4ee..c789c2c 100644
--- a/event_updates/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt
+++ b/home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-05-13 17:47:45',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'sales_order-to_be_submitted',
 		'owner': 'Administrator',
 		'page_len': 100,
diff --git a/event_updates/search_criteria/serial_no_amc_expiring_this_month/__init__.py b/home/search_criteria/serial_no_amc_expiring_this_month/__init__.py
similarity index 100%
rename from event_updates/search_criteria/serial_no_amc_expiring_this_month/__init__.py
rename to home/search_criteria/serial_no_amc_expiring_this_month/__init__.py
diff --git a/event_updates/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt b/home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt
similarity index 97%
rename from event_updates/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt
rename to home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt
index c43ce7d..336eaa7 100644
--- a/event_updates/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt
+++ b/home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-07-29 15:01:33',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'serial_no-amc_expiring_this_month',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/serial_no_warranty_expiring_this_month/__init__.py b/home/search_criteria/serial_no_warranty_expiring_this_month/__init__.py
similarity index 100%
rename from event_updates/search_criteria/serial_no_warranty_expiring_this_month/__init__.py
rename to home/search_criteria/serial_no_warranty_expiring_this_month/__init__.py
diff --git a/event_updates/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt b/home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt
similarity index 97%
rename from event_updates/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt
rename to home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt
index 1b74d94..f9713e0 100644
--- a/event_updates/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt
+++ b/home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-07-23 09:57:51',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'serial_no-warranty_expiring_this_month',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/event_updates/search_criteria/task_open/__init__.py b/home/search_criteria/task_open/__init__.py
similarity index 100%
rename from event_updates/search_criteria/task_open/__init__.py
rename to home/search_criteria/task_open/__init__.py
diff --git a/event_updates/search_criteria/task_open/task_open.txt b/home/search_criteria/task_open/task_open.txt
similarity index 96%
rename from event_updates/search_criteria/task_open/task_open.txt
rename to home/search_criteria/task_open/task_open.txt
index 47e8dfc..f82a3fc 100644
--- a/event_updates/search_criteria/task_open/task_open.txt
+++ b/home/search_criteria/task_open/task_open.txt
@@ -20,7 +20,7 @@
 		'idx': None,
 		'modified': '2010-07-16 13:03:49',
 		'modified_by': 'Administrator',
-		'module': 'Event Updates',
+		'module': 'Home',
 		'name': 'task-open',
 		'owner': 'Administrator',
 		'page_len': 50,
diff --git a/my_company/Module Def/My Company/My Company.txt b/my_company/Module Def/My Company/My Company.txt
deleted file mode 100644
index 52b80fb..0000000
--- a/my_company/Module Def/My Company/My Company.txt
+++ /dev/null
@@ -1,127 +0,0 @@
-[
-	{
-		'_last_update': None,
-		'creation': '2010-11-30 22:41:39',
-		'disabled': 'No',
-		'docstatus': 0,
-		'doctype': 'Module Def',
-		'doctype_list': None,
-		'file_list': None,
-		'idx': None,
-		'is_hidden': 'No',
-		'last_updated_date': '2010-12-01 17:37:00',
-		'modified': '2010-12-13 11:50:27',
-		'modified_by': 'Administrator',
-		'module_desc': None,
-		'module_icon': 'chart_organisation.png',
-		'module_label': 'Members',
-		'module_name': 'My Company',
-		'module_page': 'My Company',
-		'module_seq': 2,
-		'name': 'My Company',
-		'owner': 'Administrator',
-		'parent': None,
-		'parentfield': None,
-		'parenttype': None,
-		'trash_reason': None,
-		'widget_code': None
-	},
-	{
-		'click_function': None,
-		'creation': '2011-03-24 15:04:46',
-		'description': None,
-		'display_name': None,
-		'doc_name': 'Forms',
-		'doc_type': 'Separator',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 1,
-		'modified': '2011-03-24 15:04:46',
-		'modified_by': 'Administrator',
-		'name': '000003090',
-		'owner': 'Administrator',
-		'parent': 'My Company',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2010-12-01 17:37:40',
-		'description': None,
-		'display_name': 'Social Badge',
-		'doc_name': 'Social Badge',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 2,
-		'modified': '2011-03-24 15:04:46',
-		'modified_by': 'Administrator',
-		'name': 'MDI00279',
-		'owner': 'Administrator',
-		'parent': 'My Company',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-03-24 15:04:46',
-		'description': None,
-		'display_name': None,
-		'doc_name': 'Pages',
-		'doc_type': 'Separator',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 3,
-		'modified': '2011-03-24 15:04:46',
-		'modified_by': 'Administrator',
-		'name': '000003091',
-		'owner': 'Administrator',
-		'parent': 'My Company',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2010-12-01 17:37:40',
-		'description': None,
-		'display_name': 'My Company',
-		'doc_name': 'My Company',
-		'doc_type': 'Pages',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 4,
-		'modified': '2011-03-24 15:04:46',
-		'modified_by': 'Administrator',
-		'name': 'MDI00281',
-		'owner': 'Administrator',
-		'parent': 'My Company',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'creation': '2010-12-13 11:49:53',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 1,
-		'modified': '2010-12-13 11:50:27',
-		'modified_by': 'Administrator',
-		'name': 'MDR00075',
-		'owner': 'Administrator',
-		'parent': 'My Company',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'All'
-	}
-]
\ No newline at end of file
diff --git a/my_company/__init__.py b/my_company/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/my_company/__init__.py
+++ /dev/null
diff --git a/my_company/doctype/company_control/company_control.txt b/my_company/doctype/company_control/company_control.txt
deleted file mode 100644
index 43a62cc..0000000
--- a/my_company/doctype/company_control/company_control.txt
+++ /dev/null
@@ -1 +0,0 @@
-[{'section_style': 'Simple', 'is_transaction_doc': None, 'creation': '2010-11-30 22:41:39', 'search_fields': None, 'module': 'My Company', 'doctype': 'DocType', 'change_log': None, 'print_outline': '', 'owner': 'Administrator', 'in_dialog': None, 'in_create': None, 'read_only': None, 'allow_email': None, 'dt_template': None, 'hide_heading': None, 'issingle': 1, 'allow_rename': None, 'smallicon': '', 'allow_attach': None, 'show_in_menu': None, 'max_attachments': None, 'version': 43, 'menu_index': None, 'docstatus': 0, 'allow_copy': None, 'istable': None, 'description': None, 'parent': None, 'server_code': None, 'allow_trash': None, 'allow_print': None, 'autoname': None, 'client_script_core': '', 'client_string': None, 'use_template': None, 'modified_by': 'Administrator', 'document_type': '', 'name': 'Company Control', 'idx': None, 'hide_toolbar': None, 'colour': 'White:FFF', 'client_script': None, 'modified': '2010-11-17 16:25:34', 'server_code_error': ' ', 'name_case': '', 'parenttype': None, 'read_only_onload': None, 'server_code_core': None, 'server_code_compiled': None, 'parent_node': None, 'parentfield': None}]
\ No newline at end of file
diff --git a/my_company/page/my_company/my_company.comp.js b/my_company/page/my_company/my_company.comp.js
deleted file mode 100644
index ca87c07..0000000
--- a/my_company/page/my_company/my_company.comp.js
+++ /dev/null
@@ -1,118 +0,0 @@
-
-pscript['onload_My Company']=function(){var wrapper=page_body.pages['My Company'];wrapper.head=new PageHeader(wrapper,'People');wrapper.body=$a(wrapper,'div','',{marginRight:'11px',marginTop:'11px'});wrapper.message=$a(wrapper.body,'div');wrapper.tab=make_table(wrapper.body,1,2,'100%',['25%','75%']);$y(wrapper.tab,{tableLayout:'fixed'})
-pscript.myc_make_toolbar(wrapper);pscript.myc_make_list(wrapper);if(pscript.is_erpnext_saas){pscript.myc_show_erpnext_message();}}
-pscript.myc_make_toolbar=function(wrapper){if(has_common(user_roles,['System Manager','Administrator'])){wrapper.head.add_button('Add User',pscript.myc_add_user)}}
-pscript.myc_show_erpnext_message=function(){var callback=function(r,rt){if(r.exc){msgprint(r.exc);return;}
-$a(wrapper.message,'div','help_box','','You have '+r.message.enabled
-+' users enabled out of '+r.message.max_user
-+'. Go to <a href="javascript:pscript.go_to_account_settings()">Account Settings</a> to increase the number of users');}
-$c_page('my_company','my_company','get_max_users','',callback)}
-pscript.myc_add_user=function(){var d=new wn.widgets.Dialog({title:'Add User',width:400,fields:[{fieldtype:'Data',fieldname:'user',reqd:1,label:'Email Id of the user to add'},{fieldtype:'Button',label:'Add',fieldname:'add'}]});d.make();d.fields_dict.add.input.onclick=function(){v=d.get_values();if(v){d.fields_dict.add.input.set_working();$c_page('my_company','my_company','add_user',v,function(r,rt){if(r.exc){msgprint(r.exc);return;}
-else{d.hide();pscript.myc_refresh();}})}}
-d.show();}
-pscript.myc_refresh=function(){page_body.pages['My Company'].member_list.lst.run();}
-pscript.myc_make_list=function(wrapper){wrapper.member_list=new MemberList(wrapper)}
-pscript.get_fullname=function(uid){if(uid=='Administrator')return uid;return page_body.pages['My Company'].member_list.member_items[uid].fullname;}
-MemberList=function(parent){var me=this;this.profiles={};this.member_items={};this.role_objects={};this.cur_profile=null;this.list_wrapper=$a($td(parent.tab,0,0),'div','',{marginLeft:'11px'});this.profile_wrapper=$a($td(parent.tab,0,1),'div','layout_wrapper',{marginLeft:'0px',height:'100%'});this.no_user_selected=$a(this.profile_wrapper,'div','help_box',null,'Please select a user to view profile');this.make_search();if(pscript.online_users){this.make_list();}else{$c_page('event_updates','event_updates','get_online_users','',function(r,rt){pscript.online_users=r.message;me.make_list();})}}
-MemberList.prototype.make_search=function(){var me=this;this.search_area=$a(this.list_wrapper,'div','',{textAlign:'center',padding:'8px'});this.search_inp=$a(this.search_area,'input','',{fontSize:'14px',width:'80%'});this.search_inp.set_empty=function(){this.value='Search';$fg(this,'#888');}
-this.search_inp.onfocus=function(){$fg(this,'#000');if(this.value=='Search')this.value='';}
-this.search_inp.onchange=function(){if(!this.value)this.set_empty();}
-this.search_inp.set_empty();}
-MemberList.prototype.make_list=function(){var me=this;this.lst_area=$a(this.list_wrapper,'div');this.lst=new Listing('Profiles',1);this.lst.colwidths=['100%'];this.lst.opts.cell_style={padding:'0px'}
-this.lst.get_query=function(){var c1='';if(me.search_inp.value&&me.search_inp.value!='Search'){var c1=repl(' AND (first_name LIKE "%(txt)s" OR last_name LIKE "%(txt)s" OR name LIKE "%(txt)s")',{txt:'%'+me.search_inp.value+'%'});}
-this.query=repl("SELECT distinct ifnull(name,''), ifnull(concat_ws(' ', first_name, last_name),''), ifnull(messanger_status,''), ifnull(gender,''), ifnull(file_list,''), 0, enabled from tabProfile where docstatus != 2 AND name not in ('Guest','Administrator') %(cond)s ORDER BY name asc",{cond:c1});}
-this.lst.make(this.lst_area);this.lst.show_cell=function(cell,ri,ci,d){me.member_items[d[ri][0]]=new MemberItem(cell,d[ri],me);}
-this.lst.run();}
-MemberList.prototype.show_profile=function(uid,member_item){$dh(this.no_user_selected);if(!this.profiles[uid]){if(!member_item)member_item=this.member_items[uid];this.profiles[uid]=new MemberProfile(this.profile_wrapper,uid,member_item);}
-if(this.cur_profile)
-this.cur_profile.hide();this.profiles[uid].show();this.cur_profile=this.profiles[uid];}
-MemberItem=function(parent,det,mlist){var me=this;this.det=det;this.wrapper=$a(parent,'div');this.enabled=det[6];this.tab=make_table(this.wrapper,1,2,'100%',['20%','70%'],{padding:'4px',overflow:'hidden'});$y(this.tab,{tableLayout:'fixed',borderCollapse:'collapse'})
-this.is_online=function(){for(var i=0;i<pscript.online_users.length;i++){if(det[0]==pscript.online_users[i][0])return true;}}
-this.refresh_name_link=function(){$fg(this.name_link,'#00B');if(!this.is_online())
-$fg(this.name_link,'#444');if(!this.enabled)
-$fg(this.name_link,'#777');}
-this.set_image=function(){this.img=$a($td(this.tab,0,0),'img','',{width:'41px'});set_user_img(this.img,det[0],null,(det[4]?det[4].split(NEWLINE)[0].split(',')[1]:('no_img_'+(det[3]=='Female'?'f':'m'))));}
-this.set_details=function(){this.fullname=det[1]?det[1]:det[0];var div=$a($td(this.tab,0,1),'div','',{fontWeight:'bold',padding:'2px 0px'});this.name_link=$a(div,'span','link_type');this.name_link.innerHTML=this.fullname;this.name_link.onclick=function(){mlist.show_profile(me.det[0],me);}
-if(user==det[0]){var span=$a(div,'span','',{padding:'2px',marginLeft:'3px'});span.innerHTML='(You)'}
-var div=$a($td(this.tab,0,1),'div','',{color:'#777',fontSize:'11px'});div.innerHTML=det[0];var div=$a($td(this.tab,0,1),'div');this.working_img=$a(div,'img','',{display:'none'});this.working_img.src='images/ui/button-load.gif';this.refresh_name_link();}
-this.select=function(){$(this.wrapper).addClass('my-company-member-item-selected');}
-this.deselect=function(){$(this.wrapper).removeClass('my-company-member-item-selected');}
-this.set_image();this.set_details();if(user==det[0])me.name_link.onclick();}
-MemberProfile=function(parent,uid,member_item){this.parent=parent;this.uid=uid;this.member_item=member_item;var me=this;this.make=function(){this.wrapper=$a(this.parent,'div','',{display:'none'});this.tab=make_table(this.wrapper,3,2,'100%',['120px',null],{padding:'3px'});$y(this.tab,{tableLayout:'fixed'});this.make_image_and_bio();this.make_toolbar();this.make_message_list();}
-this.make_image_and_bio=function(){var rh=$td(this.tab,0,1);this.img=$a($td(this.tab,0,0),'img','',{width:'80px',marginLeft:'10px'});set_user_img(this.img,this.uid);this.name_area=$a(rh,'div','my-company-name-head');var div=$a(rh,'div','my-company-email');this.email_area=$a(div,'span');this.online_status_area=$a(div,'span','my-company-online-status');this.bio_area=$a(rh,'div','my-company-bio');this.toolbar_area=$a(rh,'div','my-company-toolbar');this.status_span=$a(this.toolbar_area,'span','',{marginRight:'7px'});}
-this.make_toolbar=function(){if(has_common(['Administrator','System Manager'],user_roles)){var roles_btn=$btn(this.toolbar_area,'Set Roles',function(){me.show_roles()},{marginRight:'3px'});var delete_btn=$btn(this.toolbar_area,'Delete User',function(){me.delete_user();},{marginRight:'3px'});}}
-this.show_roles=function(){if(!this.role_object)
-this.role_object=new RoleObj(this.uid);this.role_object.dialog.show();}
-this.delete_user=function(){var cp=locals['Control Panel']['Control Panel'];var d=new Dialog(400,200,'Delete User');d.make_body([['HTML','','Do you really want to remove '+this.uid+' from system?'],['Button','Delete']]);d.onshow=function(){this.clear_inputs();}
-d.widgets['Delete'].onclick=function(){this.set_working();var callback=function(r,rt){d.hide();if(r.exc){msgprint(r.exc);return;}
-pscript.myc_refresh()
-msgprint("User Deleted Successfully");}
-$c_page('my_company','my_company','delete_user',{'user':me.uid},callback);}
-d.show();}
-this.set_enable_button=function(){var me=this;var act=this.profile.enabled?'Disable':'Enable';if(this.status_button){this.status_button.innerHTML=act;}else{this.status_button=$btn(this.toolbar_area,act,function(){var callback=function(r,rt){locals['Profile'][me.profile.name].enabled=cint(r.message);me.status_button.done_working();me.refresh_enable_disable();}
-this.set_working();$c_page('my_company','my_company',this.innerHTML.toLowerCase()+'_profile',me.profile.name,callback);},null,null,1);}
-if(this.uid==user)$dh(this.status_button);else $di(this.status_button);}
-this.render=function(){this.profile=locals['Profile'][uid];scroll(0,0);if(cstr(this.profile.first_name)||cstr(this.profile.last_name)){this.fullname=cstr(this.profile.first_name)+' '+cstr(this.profile.last_name);}else{this.fullname=this.profile.name;}
-this.name_area.innerHTML=this.fullname;this.email_area.innerHTML=this.profile.name;this.online_status_area.innerHTML=(this.member_item.is_online()?'(Online)':'(Offline)')
-if(this.member_item.is_online()){$y(this.online_status_area,{color:'green'});}
-this.refresh_enable_disable();this.bio_area.innerHTML=this.profile.designation?('Designation: '+cstr(this.profile.designation)+'<br>'):'';this.bio_area.innerHTML+=this.profile.bio?this.profile.bio:'No bio';new MemberConversation(this.wrapper,this.profile.name,this.fullname);}
-this.refresh_enable_disable=function(){this.profile=locals['Profile'][this.uid]
-if(!this.profile.enabled){$fg(this.name_area,'#999');}else{$fg(this.name_area,'#000');}
-this.member_item.enabled=this.profile.enabled;this.member_item.refresh_name_link();this.status_span.innerHTML=this.profile.enabled?'Enabled':'Disabled';if(has_common(['Administrator','System Manager'],user_roles)){this.set_enable_button();}}
-this.load=function(){if(locals['Profile']&&locals['Profile'][uid]){this.render();return;}
-var callback=function(r,rt){$dh(me.member_item.working_img);$ds(me.wrapper);me.loading=0;me.render();}
-$ds(this.member_item.working_img);$dh(this.wrapper);this.loading=1;$c('webnotes.widgets.form.getdoc',{'name':this.uid,'doctype':'Profile','user':user},callback);}
-this.show=function(){if(!this.loading)$ds(this.wrapper);this.member_item.select();}
-this.hide=function(){$dh(this.wrapper);this.member_item.deselect();}
-this.make_message_list=function(){}
-this.make();this.load();}
-MemberConversation=function(parent,uid,fullname){var me=this;this.wrapper=$a(parent,'div','my-company-conversation');this.fullname=fullname;this.make=function(){if(user!=uid){this.make_input();}
-this.make_list();if(user==uid){$c_page('my_company','my_company','set_read_all_messages','',function(r,rt){});}}
-this.make_input=function(){this.input_wrapper=$a(this.wrapper,'div','my-company-input-wrapper');var tab=make_table(this.input_wrapper,1,2,'100%',['64%','36%'],{padding:'3px'})
-this.input=$a($td(tab,0,0),'textarea');$(this.input).add_default_text('Send a message to '+fullname);var div=$a(this.input_wrapper,'div');this.post=$btn(div,'Post'.bold(),function(){me.post_message();},{margin:'0px 13px 0px 3px'})
-this.post.set_disabled();this.input.onkeyup=this.input.onchange=function(){if(this.value){me.post.set_enabled();}else{me.post.set_disabled();}}
-this.notify_check=$a_input(div,'checkbox',null);$a(div,'span','',{marginLeft:'3px'},'Notify '+fullname+' by email')}
-this.post_message=function(){if(me.input.value==$(me.input).attr('default_text')){msgprint('Please write a message first!');return;}
-this.post.set_working();$c_page('my_company','my_company','post_comment',{uid:uid,comment:$(me.input).val(),notify:me.notify_check.checked?1:0},function(r,rt){$(me.input).val("").blur();me.post.done_working();if(r.exc){msgprint(r.exc);return;}
-me.notify_check.checked=false;me.refresh();})}
-this.make_list=function(){this.lst_area=$a(this.wrapper,'div','my-company-conversation',{padding:'7px 13px'});if(user==uid){this.my_messages_box=$a(this.lst_area,'div','my-company-conversation-head',{marginBottom:'7px'},'Messages by everyone to me<br>To send a message, click on the user on the left')}
-this.lst=new wn.widgets.Listing({parent:this.lst_area,no_result_message:(user==uid?'No messages by anyone yet':'No messages yet. To start a conversation post a new message'),get_query:function(){if(uid==user){return repl("SELECT comment, owner, comment_docname, creation, docstatus "+"FROM `tabComment Widget Record` "+"WHERE comment_doctype='My Company' "+"AND comment_docname='%(user)s' "+"ORDER BY creation DESC ",{user:user});}else{return repl("SELECT comment, owner, comment_docname, creation, docstatus "+"FROM `tabComment Widget Record` "+"WHERE comment_doctype='My Company' "+"AND ((owner='%(user)s' AND comment_docname='%(uid)s') "+"OR (owner='%(uid)s' AND comment_docname='%(user)s')) "+"ORDER BY creation DESC ",{uid:uid,user:user});}},render_row:function(parent,data){new MemberCoversationComment(parent,data,me);},})
-this.refresh();}
-this.refresh=function(){me.lst.run()}
-this.make();}
-MemberCoversationComment=function(cell,det,conv){var me=this;this.det=det;this.wrapper=$a(cell,'div','my-company-comment-wrapper');this.comment=$a(this.wrapper,'div','my-company-comment');this.user=$a(this.comment,'span','link_type',{fontWeight:'bold'},pscript.get_fullname(det[1]));this.user.onclick=function(){page_body.pages['My Company'].member_list.show_profile(me.det[1]);}
-var st=(!det[4]?{fontWeight:'bold'}:null);this.msg=$a(this.comment,'span','social',st,': '+det[0]);if(det[1]==user){$y(this.wrapper,{backgroundColor:'#D9D9F3'});}
-this.timestamp=$a(this.wrapper,'div','my-company-timestamp','',comment_when(det[3]));}
-pscript.all_roles=null;RoleObj=function(profile_id){this.roles_dict={};this.profile_id=profile_id;this.setup_done=0;var d=new Dialog(500,500,'Assign Roles');d.make_body([['HTML','roles']]);this.dialog=d;this.make_role_body(profile_id);this.make_help_body();this.body.innerHTML='<span style="color:#888">Loading...</span> <img src="images/ui/button-load.gif">'
-var me=this;d.onshow=function(){if(!me.setup_done)
-me.get_all_roles(me.profile_id);}}
-RoleObj.prototype.make_role_body=function(id){var me=this;var d=this.dialog;this.role_div=$a(d.widgets['roles'],'div');this.head=$a(this.role_div,'div','',{marginLeft:'4px',marginBottom:'4px',fontWeight:'bold'});this.body=$a(this.role_div,'div');this.footer=$a(this.role_div,'div');this.update_btn=$btn(this.footer,'Update',function(){me.update_roles(me.profile_id);},{marginRight:'4px'},'',1);}
-RoleObj.prototype.make_help_body=function(){var me=this;var d=this.dialog;this.help_div=$a(d.widgets['roles'],'div');var head=$a(this.help_div,'div');this.help_div.head=head;var body=$a(this.help_div,'div');this.help_div.body=body;var tail=$a(this.help_div,'div');this.help_div.tail=tail;var back_btn=$btn(tail,'Back',function(){$(me.role_div).slideToggle('medium');$(me.help_div).slideToggle('medium');});this.help_div.back_btn=back_btn;$dh(this.help_div);}
-RoleObj.prototype.get_all_roles=function(id){if(pscript.all_roles){this.make_roles(id);return;}
-var me=this;var callback=function(r,rt){pscript.all_roles=r.message;me.make_roles(id);}
-$c_obj('Company Control','get_all_roles','',callback);}
-RoleObj.prototype.make_roles=function(id){var me=this;var list=pscript.all_roles;me.setup_done=1;me.body.innerHTML='';var tbl=make_table(me.body,cint(list.length/2)+1,4,'100%',['5%','45%','5%','45%'],{padding:'4px'});var in_right=0;var ridx=0;for(i=0;i<list.length;i++){var cidx=in_right*2;me.make_checkbox(tbl,ridx,cidx,list[i]);me.make_label(tbl,ridx,cidx+1,list[i]);if(in_right){in_right=0;ridx++}else in_right=1;}
-me.get_user_roles(id);}
-RoleObj.prototype.make_checkbox=function(tbl,ridx,cidx,role){var me=this;var a=$a_input($a($td(tbl,ridx,cidx),'div'),'checkbox');a.role=role;me.roles_dict[role]=a;$y(a,{width:'20px'});$y($td(tbl,ridx,cidx),{textAlign:'right'});}
-RoleObj.prototype.make_label=function(tbl,ridx,cidx,role){var me=this;var t=make_table($td(tbl,ridx,cidx),1,2,null,['16px',null],{marginRight:'5px'});var ic=$a($td(t,0,0),'img','',{cursor:'pointer',marginRight:'5px'});ic.src='images/icons/help.gif';ic.role=role;ic.onclick=function(){me.get_permissions(this.role);}
-$td(t,0,1).innerHTML=role;}
-RoleObj.prototype.get_user_roles=function(id){var me=this;me.head.innerHTML='Roles for '+id;$ds(me.role_div);$dh(me.help_div);var callback=function(r,rt){me.set_user_roles(r.message);}
-$c_obj('Company Control','get_user_roles',id,callback);}
-RoleObj.prototype.set_user_roles=function(list){var me=this;for(d in me.roles_dict){me.roles_dict[d].checked=0;}
-for(l=0;l<list.length;l++){me.roles_dict[list[l]].checked=1;}}
-RoleObj.prototype.update_roles=function(id){var me=this;if(id==user&&has_common(['System Manager'],user_roles)&&!me.roles_dict['System Manager'].checked){var callback=function(r,rt){if(r.message){if(r.message>1){var c=confirm("You have unchecked the System Manager role.\nYou will lose administrative rights and will not be able to set roles.\n\nDo you want to continue anyway?");if(!c)return;}
-else{var c="There should be atleast one user with System Manager role.";me.roles_dict['System Manager'].checked=1;}}
-me.set_roles(id);}
-$c_obj('Company Control','get_sm_count','',callback);}
-else{me.set_roles(id);}}
-RoleObj.prototype.set_roles=function(id){var me=this;var role_list=[];for(d in me.roles_dict){if(me.roles_dict[d].checked){role_list.push(d);}}
-var callback=function(r,rt){me.update_btn.done_working();me.dialog.hide();}
-var arg={'usr':id,'role_list':role_list};me.update_btn.set_working();$c_obj('Company Control','update_roles',docstring(arg),callback);}
-RoleObj.prototype.get_permissions=function(role){var me=this;var callback=function(r,rt){$(me.help_div).slideToggle('medium');$(me.role_div).slideToggle('medium');me.set_permissions(r.message,role);}
-$c_obj('Company Control','get_permission',role,callback);}
-RoleObj.prototype.set_permissions=function(perm,role){var me=this;me.help_div.body.innerHTML='';if(perm){me.help_div.head.innerHTML='Permissions for '+role+':<br><br>';perm_tbl=make_table(me.help_div.body,cint(perm.length)+2,7,'100%',['30%','10%','10%','10%','10%','10%','10%'],{padding:'4px'});var head_lst=['Document','Read','Write','Create','Submit','Cancel','Amend'];for(var i=0;i<(head_lst.length-1);i++){$td(perm_tbl,0,i).innerHTML="<b>"+head_lst[i]+"</b>";}
-var accept_img1='images/icons/accept.gif';var cancel_img1='images/icons/cancel.gif';for(i=1;i<perm.length+1;i++){$td(perm_tbl,i,0).innerHTML=get_doctype_label(perm[i-1][0]);for(var j=1;j<(head_lst.length-1);j++){if(perm[i-1][j]){var accept_img=$a($td(perm_tbl,i,j),'img');accept_img.src=accept_img1;}
-else{var cancel_img=$a($td(perm_tbl,i,j),'img');cancel_img.src=cancel_img1;}
-$y($td(perm_tbl,i,j),{textAlign:'center'});}}}
-else
-me.help_div.head.innerHTML='No Permission set for '+role+'.<br><br>';}
\ No newline at end of file
diff --git a/my_company/page/my_company/my_company.txt b/my_company/page/my_company/my_company.txt
deleted file mode 100644
index 4977ac9..0000000
--- a/my_company/page/my_company/my_company.txt
+++ /dev/null
@@ -1 +0,0 @@
-[{'creation': '2010-06-29 12:40:20', 'module': 'My Company', 'doctype': 'Page', 'owner': 'Administrator', 'style': '', 'modified_by': 'Administrator', 'script': None, 'show_in_menu': 1, 'content': None, 'page_name': 'My Company', 'menu_index': None, 'docstatus': 0, 'parent': None, 'standard': 'Yes', 'icon': None, 'name': 'My Company', 'idx': None, 'static_content': None, 'modified': '2010-12-01 17:09:46', 'parenttype': None, 'parent_node': None, 'parentfield': None}, {'modified_by': 'Administrator', 'name': 'PR000143', 'parent': 'My Company', 'creation': '2010-06-29 16:40:26', 'modified': '2010-12-01 17:09:46', 'doctype': 'Page Role', 'idx': 1, 'parenttype': 'Page', 'role': 'Administrator', 'owner': 'Administrator', 'docstatus': 0, 'parentfield': 'roles'}, {'modified_by': 'Administrator', 'name': 'PR000153', 'parent': 'My Company', 'creation': '2010-08-06 20:18:55', 'modified': '2010-12-01 17:09:46', 'doctype': 'Page Role', 'idx': 2, 'parenttype': 'Page', 'role': 'All', 'owner': 'nabin@webnotestech.com', 'docstatus': 0, 'parentfield': 'roles'}]
\ No newline at end of file
diff --git a/patches/patch.py b/patches/patch.py
index 0ab6912..9b9255b 100644
--- a/patches/patch.py
+++ b/patches/patch.py
@@ -1,6 +1,6 @@
 # REMEMBER to update this
 # ========================
-last_patch = 276
+last_patch = 277
 
 #-------------------------------------------
 
@@ -1097,3 +1097,15 @@
 		for d in sn:
 			delete_doc('Search Criteria', d[0])
 		reload_doc('crm', 'search_criteria', 'sales_personwise_transaction_summary')
+	elif patch_no == 277:
+		webnotes.model.delete_doc('DocType','HomePage Settings')
+		webnotes.model.delete_doc('DocType','Badge Settings')
+		sql("update tabDocType set module='Home' where module in ('Event Updates', 'My Company')")
+		sql("update tabPage set module='Home' where module in ('Event Updates', 'My Company')")
+		sql("update `tabSearch Criteria` set module='Home' where module in ('Event Updates', 'My Company')")
+
+
+		delete_pages = ('Chat User Gallery', 'Badge Info', 'Home', 'Website Setup', 'Test Page', 'Setup Masters', 'Service', 'Selling', 'Sales Reports', 'Organize','My Cart', 'My Activity', 'Manage Users', 'Maintenance', 'Getting Started', 'Gantt Test', 'Custom Reports - Stock', 'Custom Reports - Selling', 'Custom Reports - Production', 'Custom Reports - Payroll', 'Custom Reports - Maintenance', 'Custom Reports - Buying', 'Custom Reports - Accounts', 'CRM Setup', 'CRM Reports')
+		for p in delete_pages:
+		  webnotes.model.delete_doc('Page',p)
+		
\ No newline at end of file
diff --git a/srm/doctype/supplier/supplier.py b/srm/doctype/supplier/supplier.py
index af5b85a..e6db6c3 100644
--- a/srm/doctype/supplier/supplier.py
+++ b/srm/doctype/supplier/supplier.py
@@ -29,7 +29,8 @@
     if supp_master_name == 'Supplier Name':
     
       # filter out bad characters in name
-      supp = self.doc.supplier_name.replace('&','and').replace('.','').replace("'",'').replace('"','').replace(',','').replace('`','')
+      #supp = self.doc.supplier_name.replace('&','and').replace('.','').replace("'",'').replace('"','').replace(',','').replace('`','')
+      supp = self.doc.supplier_name
       
       cust = sql("select name from `tabCustomer` where name = '%s'" % (supp))
       cust = cust and cust[0][0] or ''
diff --git a/tools/doctype/address/address.py b/tools/doctype/address/address.py
index dc17743..eabf624 100644
--- a/tools/doctype/address/address.py
+++ b/tools/doctype/address/address.py
@@ -22,7 +22,7 @@
       self.doc.name = self.doc.sales_partner + '-' + self.doc.address_type
       
     # filter out bad characters in name
-    self.doc.name = self.doc.name.replace('&','and').replace('.','').replace("'",'').replace('"','').replace(',','').replace('`','')
+    #self.doc.name = self.doc.name.replace('&','and').replace('.','').replace("'",'').replace('"','').replace(',','').replace('`','')
 
 #----------------------
 # Call to Validate
diff --git a/tools/doctype/contact/contact.py b/tools/doctype/contact/contact.py
index 7498619..6d7c4c4 100644
--- a/tools/doctype/contact/contact.py
+++ b/tools/doctype/contact/contact.py
@@ -22,7 +22,7 @@
       self.doc.name = self.doc.first_name + (self.doc.last_name and ' ' + self.doc.last_name or '') + '-' + self.doc.sales_partner  
     
     # filter out bad characters in name
-    self.doc.name = self.doc.name.replace('&','and').replace('.','').replace("'",'').replace('"','').replace(',','')      
+    #self.doc.name = self.doc.name.replace('&','and').replace('.','').replace("'",'').replace('"','').replace(',','')      
 
 #----------------------
 # Call to Validate
