[hub] move register_seller to api, remove old code
diff --git a/erpnext/hub_node/api.py b/erpnext/hub_node/api.py
index fe41919..84042e8 100644
--- a/erpnext/hub_node/api.py
+++ b/erpnext/hub_node/api.py
@@ -1,12 +1,64 @@
 from __future__ import unicode_literals
-import frappe, json
-import io, base64, os, requests
+
+import frappe
+import json
+import io
+import base64
+import os
+import requests
+
+from frappe import _
 from frappe.frappeclient import FrappeClient
 from frappe.desk.form.load import get_attachments
 from frappe.utils.file_manager import get_file_path
 from six import string_types
 
 @frappe.whitelist()
+def register_seller(**kwargs):
+	settings = frappe.get_single('Marketplace Settings')
+	settings.update(kwargs)
+	settings.users = []
+
+	validate_registerer()
+
+	message = settings.register()
+
+	if message.get('email'):
+		settings.registered = 1
+
+		user_emails = kwargs.get('users').strip()[:-1].split(', ')
+		settings.users = get_users_object_list(
+			user_emails,
+			kwargs.get('username'),
+			message.get('password')
+		)
+
+		settings.save()
+
+	return message
+
+def validate_registerer():
+	if frappe.session.user == 'Administrator':
+		frappe.throw(_('Please login as another user to register on Marketplace'))
+
+	if 'System Manager' not in frappe.get_roles():
+		frappe.throw(_('Only users with System Manager role can register on Marketplace'), frappe.PermissionError)
+
+def get_users_object_list(user_emails, session_user_username, session_user_password):
+	users = []
+
+	for user_email in user_emails:
+		users.append({ 'user': user_email })
+
+	users.insert(0, {
+		'user': frappe.session.user,
+		'username': session_user_username,
+		'password': session_user_password
+	})
+
+	return users
+
+@frappe.whitelist()
 def call_hub_method(method, params=None):
 	connection = get_hub_connection()
 
diff --git a/erpnext/hub_node/doctype/marketplace_settings/marketplace_settings.json b/erpnext/hub_node/doctype/marketplace_settings/marketplace_settings.json
index 2663dc5..066202a 100644
--- a/erpnext/hub_node/doctype/marketplace_settings/marketplace_settings.json
+++ b/erpnext/hub_node/doctype/marketplace_settings/marketplace_settings.json
@@ -215,38 +215,6 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "company_email", 
-   "fieldtype": "Data", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Company Email", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
    "fieldname": "company_logo", 
    "fieldtype": "Attach Image", 
    "hidden": 0, 
@@ -512,7 +480,7 @@
  "issingle": 1, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2018-08-31 17:56:23.354092", 
+ "modified": "2018-08-31 22:14:59.497780", 
  "modified_by": "cave@aperture.com", 
  "module": "Hub Node", 
  "name": "Marketplace Settings", 
diff --git a/erpnext/hub_node/doctype/marketplace_settings/marketplace_settings.py b/erpnext/hub_node/doctype/marketplace_settings/marketplace_settings.py
index 6dcbd13..f0046d0 100644
--- a/erpnext/hub_node/doctype/marketplace_settings/marketplace_settings.py
+++ b/erpnext/hub_node/doctype/marketplace_settings/marketplace_settings.py
@@ -15,107 +15,29 @@
 	def validate(self):
 		self.site_name = frappe.utils.get_url()
 
+
 	def get_marketplace_url(self):
 		return self.marketplace_url
 
+
 	def register(self):
 		""" Create a User on hub.erpnext.org and return username/password """
-
-		if frappe.session.user == 'Administrator':
-			frappe.throw(_('Please login as another user to register on Marketplace'))
-
-		if 'System Manager' not in frappe.get_roles():
-			frappe.throw(_('Only users with System Manager role can register on Marketplace'), frappe.PermissionError)
-
 		self.site_name = frappe.utils.get_url()
 
-		data = {
-			'profile': self.as_json()
-		}
-		post_url = self.get_marketplace_url() + '/api/method/hub.hub.api.register'
+		register_url = self.get_marketplace_url() + '/api/method/hub.hub.api.register'
+		data = {'profile': self.as_json(), 'email': frappe.session.user}
+		headers = {'accept': 'application/json'}
 
-		response = requests.post(post_url, data=data, headers = {'accept': 'application/json'})
-
+		response = requests.post(register_url, data = data, headers = headers)
 		response.raise_for_status()
-
 		if response.ok:
 			message = response.json().get('message')
 		else:
 			frappe.throw(json.loads(response.text))
 
-		if message.get('email'):
-			self.registered = 1
-			self.users[0].password = message.get('password')
-			self.save()
-
 		return message or None
 
-	# def unregister(self):
-	# 	""" Disable the User on hub.erpnext.org"""
 
-	# 	hub_connector = frappe.get_doc(
-	# 		'Data Migration Connector', 'Hub Connector')
-
-	# 	connection = hub_connector.get_connection()
-	# 	response_doc = connection.update('User', frappe._dict({'enabled': 0}), hub_connector.username)
-
-	# 	if response_doc['enabled'] == 0:
-	# 		self.enabled = 0
-	# 		self.save()
-
-	def create_hub_connector(self, message):
-		if frappe.db.exists('Data Migration Connector', 'Hub Connector'):
-			hub_connector = frappe.get_doc('Data Migration Connector', 'Hub Connector')
-			hub_connector.hostname = self.get_marketplace_url()
-			hub_connector.username = message['email']
-			hub_connector.password = message['password']
-			hub_connector.save()
-			return
-
-		frappe.get_doc({
-			'doctype': 'Data Migration Connector',
-			'connector_type': 'Frappe',
-			'connector_name': 'Hub Connector',
-			'hostname': self.get_marketplace_url(),
-			'username': message['email'],
-			'password': message['password']
-		}).insert()
-
-def reset_hub_publishing_settings(last_sync_datetime = ""):
-	doc = frappe.get_doc("Marketplace Settings", "Marketplace Settings")
-	doc.reset_publishing_settings(last_sync_datetime)
-	doc.in_callback = 1
-	doc.save()
-
-def reset_hub_settings(last_sync_datetime = ""):
-	doc = frappe.get_doc("Marketplace Settings", "Marketplace Settings")
-	doc.reset_publishing_settings(last_sync_datetime)
-	doc.reset_enable()
-	doc.in_callback = 1
-	doc.save()
-	frappe.msgprint(_("Successfully unregistered."))
-
-@frappe.whitelist()
-def register_seller(**kwargs):
-	settings = frappe.get_doc('Marketplace Settings')
-	user_emails = kwargs.get('users').strip()[:-1].split(', ')
-
-	users = []
-
-	for user_email in user_emails:
-		users.append({
-			"user": user_email
-		})
-
-	users.insert(0, {
-		"user": frappe.session.user,
-		"hub_username": kwargs.get('username')
-	})
-
-	kwargs['users'] = users
-	settings.update(kwargs)
-
-	settings.save()
-
-	message = settings.register()
-	return message.get('email')
+	def unregister(self):
+		""" Disable the User on hub.erpnext.org"""
+		pass
diff --git a/erpnext/public/js/hub/Sidebar.vue b/erpnext/public/js/hub/Sidebar.vue
index cff580e..6e0b26c 100644
--- a/erpnext/public/js/hub/Sidebar.vue
+++ b/erpnext/public/js/hub/Sidebar.vue
@@ -19,7 +19,7 @@
 export default {
 	data() {
 		return {
-			hub_registered: hub.settings.registered && frappe.session.user === hub.settings.company_email,
+			hub_registered: hub.settings.registered,
 			items: [
 				{
 					label: __('Browse'),
diff --git a/erpnext/public/js/hub/marketplace.js b/erpnext/public/js/hub/marketplace.js
index 7659a36..a4f38c7 100644
--- a/erpnext/public/js/hub/marketplace.js
+++ b/erpnext/public/js/hub/marketplace.js
@@ -101,7 +101,7 @@
 
 	register_seller(form_values) {
 		frappe.call({
-		    method: 'erpnext.hub_node.doctype.marketplace_settings.marketplace_settings.register_seller',
+		    method: 'erpnext.hub_node.api.register_seller',
 		    args: form_values
 		}).then(() => {
 			this.register_dialog.hide();