[remove-hub] delete hub module
diff --git a/erpnext/config/desktop.py b/erpnext/config/desktop.py
index 6d4fe02..26bc21e 100644
--- a/erpnext/config/desktop.py
+++ b/erpnext/config/desktop.py
@@ -292,14 +292,6 @@
 			"hidden": 1
 		},
 		{
-			"module_name": "Hub",
-			"color": "#009248",
-			"icon": "/assets/erpnext/images/hub_logo.svg",
-			"type": "page",
-			"link": "hub",
-			"label": _("Hub")
-		},
-		{
 			"module_name": "Data Import",
 			"color": "#FFF168",
 			"reverse": 1,
diff --git a/erpnext/config/hub_node.py b/erpnext/config/hub_node.py
deleted file mode 100644
index c9d5b97..0000000
--- a/erpnext/config/hub_node.py
+++ /dev/null
@@ -1,24 +0,0 @@
-from __future__ import unicode_literals
-from frappe import _
-
-def get_data():
-	return [
-		{
-			"label": _("Setup"),
-			"items": [
-				{
-					"type": "doctype",
-					"name": "Hub Settings"
-				},
-			]
-		},
-		{
-			"label": _("Hub"),
-			"items": [
-				{
-					"type": "page",
-					"name": "hub"
-				},
-			]
-		},
-	]
\ No newline at end of file
diff --git a/erpnext/hub_node/__init__.py b/erpnext/hub_node/__init__.py
deleted file mode 100644
index 8eb1074..0000000
--- a/erpnext/hub_node/__init__.py
+++ /dev/null
@@ -1,184 +0,0 @@
-# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and contributors
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import frappe, requests, json
-from frappe.utils import now, nowdate, cint
-from frappe.utils.nestedset import get_root_of
-from frappe.contacts.doctype.contact.contact import get_default_contact
-
-@frappe.whitelist()
-def enable_hub():
-	hub_settings = frappe.get_doc('Hub Settings')
-	hub_settings.register()
-	frappe.db.commit()
-	return hub_settings
-
-@frappe.whitelist()
-def get_items(start=0, limit=20, category=None, order_by=None, company=None, text=None):
-	connection = get_client_connection()
-	filters = {
-		'hub_category': category,
-	}
-	if text:
-		filters.update({'item_name': ('like', '%' + text + '%')})
-	if company:
-		filters.update({'company_name': company})
-
-	response = connection.get_list('Hub Item',
-		limit_start=start, limit_page_length=limit,
-		filters=filters)
-	return response
-
-@frappe.whitelist()
-def get_categories():
-	connection = get_client_connection()
-	response = connection.get_list('Hub Category')
-	return response
-
-@frappe.whitelist()
-def get_item_details(hub_sync_id=None):
-	if not hub_sync_id:
-		return
-	connection = get_client_connection()
-	return connection.get_doc('Hub Item', hub_sync_id)
-
-@frappe.whitelist()
-def get_company_details(hub_sync_id):
-	connection = get_client_connection()
-	return connection.get_doc('Hub Company', hub_sync_id)
-
-def get_client_connection():
-	# frappeclient connection
-	hub_connection = get_hub_connection()
-	return hub_connection.connection
-
-def get_hub_connection():
-	hub_connector = frappe.get_doc(
-		'Data Migration Connector', 'Hub Connector')
-	hub_connection = hub_connector.get_connection()
-	return hub_connection
-
-def make_opportunity(buyer_name, email_id):
-	buyer_name = "HUB-" + buyer_name
-
-	if not frappe.db.exists('Lead', {'email_id': email_id}):
-		lead = frappe.new_doc("Lead")
-		lead.lead_name = buyer_name
-		lead.email_id = email_id
-		lead.save(ignore_permissions=True)
-
-	o = frappe.new_doc("Opportunity")
-	o.enquiry_from = "Lead"
-	o.lead = frappe.get_all("Lead", filters={"email_id": email_id}, fields = ["name"])[0]["name"]
-	o.save(ignore_permissions=True)
-
-@frappe.whitelist()
-def make_rfq_and_send_opportunity(item, supplier):
-	supplier = make_supplier(supplier)
-	contact = make_contact(supplier)
-	item = make_item(item)
-	rfq = make_rfq(item, supplier, contact)
-	status = send_opportunity(contact)
-
-	return {
-		'rfq': rfq,
-		'hub_document_created': status
-	}
-
-def make_supplier(supplier):
-	# make supplier if not already exists
-	supplier = frappe._dict(json.loads(supplier))
-
-	if not frappe.db.exists('Supplier', {'supplier_name': supplier.supplier_name}):
-		supplier_doc = frappe.get_doc({
-			'doctype': 'Supplier',
-			'supplier_name': supplier.supplier_name,
-			'supplier_type': supplier.supplier_type,
-			'supplier_email': supplier.supplier_email
-		}).insert()
-	else:
-		supplier_doc = frappe.get_doc('Supplier', supplier.supplier_name)
-
-	return supplier_doc
-
-def make_contact(supplier):
-	contact_name = get_default_contact('Supplier', supplier.supplier_name)
-	# make contact if not already exists
-	if not contact_name:
-		contact = frappe.get_doc({
-			'doctype': 'Contact',
-			'first_name': supplier.supplier_name,
-			'email_id': supplier.supplier_email,
-			'is_primary_contact': 1,
-			'links': [
-				{'link_doctype': 'Supplier', 'link_name': supplier.supplier_name}
-			]
-		}).insert()
-	else:
-		contact = frappe.get_doc('Contact', contact_name)
-
-	return contact
-
-def make_item(item):
-	# make item if not already exists
-	item = frappe._dict(json.loads(item))
-
-	if not frappe.db.exists('Item', {'item_code': item.item_code}):
-		item_doc = frappe.get_doc({
-			'doctype': 'Item',
-			'item_code': item.item_code,
-			'item_group': item.item_group,
-			'is_item_from_hub': 1
-		}).insert()
-	else:
-		item_doc = frappe.get_doc('Item', item.item_code)
-
-	return item_doc
-
-def make_rfq(item, supplier, contact):
-	# make rfq
-	rfq = frappe.get_doc({
-		'doctype': 'Request for Quotation',
-		'transaction_date': nowdate(),
-		'status': 'Draft',
-		'company': frappe.db.get_single_value('Hub Settings', 'company'),
-		'message_for_supplier': 'Please supply the specified items at the best possible rates',
-		'suppliers': [
-			{ 'supplier': supplier.name, 'contact': contact.name }
-		],
-		'items': [
-			{
-				'item_code': item.item_code,
-				'qty': 1,
-				'schedule_date': nowdate(),
-				'warehouse': item.default_warehouse or get_root_of("Warehouse"),
-				'description': item.description,
-				'uom': item.stock_uom
-			}
-		]
-	}).insert()
-
-	rfq.save()
-	rfq.submit()
-	return rfq
-
-def send_opportunity(contact):
-	# Make Hub Message on Hub with lead data
-	doc = {
-		'doctype': 'Lead',
-		'lead_name': frappe.db.get_single_value('Hub Settings', 'company'),
-		'email_id': frappe.db.get_single_value('Hub Settings', 'user')
-	}
-
-	args = frappe._dict(dict(
-		doctype='Hub Message',
-		reference_doctype='Lead',
-		data=json.dumps(doc),
-		user=contact.email_id
-	))
-
-	connection = get_hub_connection()
-	response = connection.insert('Hub Message', args)
-
-	return response.ok
diff --git a/erpnext/hub_node/data_migration_mapping/__init__.py b/erpnext/hub_node/data_migration_mapping/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/hub_node/data_migration_mapping/__init__.py
+++ /dev/null
diff --git a/erpnext/hub_node/data_migration_mapping/company_to_hub_company/__init__.py b/erpnext/hub_node/data_migration_mapping/company_to_hub_company/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/hub_node/data_migration_mapping/company_to_hub_company/__init__.py
+++ /dev/null
diff --git a/erpnext/hub_node/data_migration_mapping/company_to_hub_company/company_to_hub_company.json b/erpnext/hub_node/data_migration_mapping/company_to_hub_company/company_to_hub_company.json
deleted file mode 100644
index 0a916da..0000000
--- a/erpnext/hub_node/data_migration_mapping/company_to_hub_company/company_to_hub_company.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "condition": "{'name': ('=', frappe.db.get_single_value('Hub Settings', 'company'))}", 
- "creation": "2017-09-07 11:38:43.169065", 
- "docstatus": 0, 
- "doctype": "Data Migration Mapping", 
- "fields": [
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "name", 
-   "remote_fieldname": "company_name"
-  }, 
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "country", 
-   "remote_fieldname": "country"
-  }, 
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "\"city\"", 
-   "remote_fieldname": "seller_city"
-  }, 
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "eval:frappe.local.site", 
-   "remote_fieldname": "site_name"
-  }, 
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "eval:frappe.session.user", 
-   "remote_fieldname": "user"
-  }
- ], 
- "idx": 2, 
- "local_doctype": "Company", 
- "mapping_name": "Company to Hub Company", 
- "mapping_type": "Push", 
- "migration_id_field": "hub_sync_id", 
- "modified": "2017-10-09 17:30:17.853929", 
- "modified_by": "Administrator", 
- "name": "Company to Hub Company", 
- "owner": "Administrator", 
- "page_length": 10, 
- "remote_objectname": "Hub Company", 
- "remote_primary_key": "name"
-}
\ No newline at end of file
diff --git a/erpnext/hub_node/data_migration_mapping/hub_message_to_lead/__init__.py b/erpnext/hub_node/data_migration_mapping/hub_message_to_lead/__init__.py
deleted file mode 100644
index 0ea1bc4..0000000
--- a/erpnext/hub_node/data_migration_mapping/hub_message_to_lead/__init__.py
+++ /dev/null
@@ -1,29 +0,0 @@
-import frappe, json
-
-def pre_process(doc):
-	return json.loads(doc['data'])
-
-def post_process(remote_doc=None, local_doc=None, **kwargs):
-	if not local_doc:
-		return
-
-	hub_message = remote_doc
-	# update hub message on hub
-	hub_connector = frappe.get_doc('Data Migration Connector', 'Hub Connector')
-	connection = hub_connector.get_connection()
-	connection.update('Hub Message', dict(
-		status='Synced'
-	), hub_message['name'])
-
-	# make opportunity after lead is created
-	lead = local_doc
-	opportunity = frappe.get_doc({
-		'doctype': 'Opportunity',
-		'naming_series': 'OPTY-',
-		'opportunity_type': 'Hub',
-		'enquiry_from': 'Lead',
-		'status': 'Open',
-		'lead': lead.name,
-		'company': lead.company,
-		'transaction_date': frappe.utils.today()
-	}).insert()
diff --git a/erpnext/hub_node/data_migration_mapping/hub_message_to_lead/hub_message_to_lead.json b/erpnext/hub_node/data_migration_mapping/hub_message_to_lead/hub_message_to_lead.json
deleted file mode 100644
index cd9fb69..0000000
--- a/erpnext/hub_node/data_migration_mapping/hub_message_to_lead/hub_message_to_lead.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "condition": "{'reference_doctype': 'Lead', 'user': frappe.db.get_single_value('Hub Settings', 'user'), 'status': 'Pending'}", 
- "creation": "2017-09-20 15:06:40.279930", 
- "docstatus": 0, 
- "doctype": "Data Migration Mapping", 
- "fields": [
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "email_id", 
-   "remote_fieldname": "email_id"
-  }, 
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "lead_name", 
-   "remote_fieldname": "lead_name"
-  }
- ], 
- "idx": 0, 
- "local_doctype": "Lead", 
- "local_primary_key": "email_id", 
- "mapping_name": "Hub Message to Lead", 
- "mapping_type": "Pull", 
- "migration_id_field": "hub_sync_id", 
- "modified": "2017-10-09 17:30:17.908830", 
- "modified_by": "Administrator", 
- "name": "Hub Message to Lead", 
- "owner": "frappetest@gmail.com", 
- "page_length": 10, 
- "remote_objectname": "Hub Message", 
- "remote_primary_key": "name"
-}
\ No newline at end of file
diff --git a/erpnext/hub_node/data_migration_mapping/item_to_hub_item/__init__.py b/erpnext/hub_node/data_migration_mapping/item_to_hub_item/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/hub_node/data_migration_mapping/item_to_hub_item/__init__.py
+++ /dev/null
diff --git a/erpnext/hub_node/data_migration_mapping/item_to_hub_item/item_to_hub_item.json b/erpnext/hub_node/data_migration_mapping/item_to_hub_item/item_to_hub_item.json
deleted file mode 100644
index e4168c7..0000000
--- a/erpnext/hub_node/data_migration_mapping/item_to_hub_item/item_to_hub_item.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "condition": "{\"publish_in_hub\": 1}", 
- "creation": "2017-09-07 13:27:52.726350", 
- "docstatus": 0, 
- "doctype": "Data Migration Mapping", 
- "fields": [
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "item_code", 
-   "remote_fieldname": "item_code"
-  }, 
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "item_name", 
-   "remote_fieldname": "item_name"
-  }, 
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "eval:frappe.db.get_default(\"company\")", 
-   "remote_fieldname": "company_name"
-  }, 
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "image", 
-   "remote_fieldname": "image"
-  }, 
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "item_group", 
-   "remote_fieldname": "item_group"
-  }, 
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "eval:frappe.session.user", 
-   "remote_fieldname": "seller"
-  }, 
-  {
-   "is_child_table": 0, 
-   "local_fieldname": "eval:frappe.db.get_default(\"country\")", 
-   "remote_fieldname": "country"
-  }
- ], 
- "idx": 1, 
- "local_doctype": "Item", 
- "mapping_name": "Item to Hub Item", 
- "mapping_type": "Push", 
- "migration_id_field": "hub_sync_id", 
- "modified": "2017-10-09 17:30:17.890337", 
- "modified_by": "Administrator", 
- "name": "Item to Hub Item", 
- "owner": "Administrator", 
- "page_length": 10, 
- "remote_objectname": "Hub Item", 
- "remote_primary_key": "item_code"
-}
\ No newline at end of file
diff --git a/erpnext/hub_node/data_migration_plan/hub_sync/hub_sync.json b/erpnext/hub_node/data_migration_plan/hub_sync/hub_sync.json
deleted file mode 100644
index 40513cd2..0000000
--- a/erpnext/hub_node/data_migration_plan/hub_sync/hub_sync.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "creation": "2017-09-07 11:39:38.445902", 
- "docstatus": 0, 
- "doctype": "Data Migration Plan", 
- "idx": 1, 
- "mappings": [
-  {
-   "enabled": 1, 
-   "mapping": "Company to Hub Company"
-  }, 
-  {
-   "enabled": 1, 
-   "mapping": "Item to Hub Item"
-  }, 
-  {
-   "enabled": 1, 
-   "mapping": "Hub Message to Lead"
-  }
- ], 
- "modified": "2017-10-09 17:30:17.680059", 
- "modified_by": "Administrator", 
- "module": "Hub Node", 
- "name": "Hub Sync", 
- "owner": "Administrator", 
- "plan_name": "Hub Sync"
-}
\ No newline at end of file
diff --git a/erpnext/hub_node/doctype/__init__.py b/erpnext/hub_node/doctype/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/hub_node/doctype/__init__.py
+++ /dev/null