[marketplace] Disallow unregistered routes if not registered
diff --git a/erpnext/public/js/hub/PageContainer.vue b/erpnext/public/js/hub/PageContainer.vue
index cec4c8d..981c44e 100644
--- a/erpnext/public/js/hub/PageContainer.vue
+++ b/erpnext/public/js/hub/PageContainer.vue
@@ -20,23 +20,29 @@
 import Profile from './pages/Profile.vue';
 import NotFound from './pages/NotFound.vue';
 
-const route_map = {
-	'marketplace/home': Home,
-	'marketplace/search/:keyword': Search,
-	'marketplace/category/:category': Category,
-	'marketplace/item/:item': Item,
-	'marketplace/seller/:seller': Seller,
-	'marketplace/not-found': NotFound,
-
-	// Registered seller routes
-	'marketplace/profile': Profile,
-	'marketplace/saved-items': SavedItems,
-	'marketplace/publish': Publish,
-	'marketplace/published-items': PublishedItems,
-	'marketplace/buying': Buying,
-	'marketplace/buying/:item': Messages,
-	'marketplace/selling': Selling,
-	'marketplace/selling/:buyer/:item': Messages
+function get_route_map() {
+	const read_only_routes = {
+		'marketplace/home': Home,
+		'marketplace/search/:keyword': Search,
+		'marketplace/category/:category': Category,
+		'marketplace/item/:item': Item,
+		'marketplace/seller/:seller': Seller,
+		'marketplace/not-found': NotFound,
+	}
+	const registered_routes = {
+		'marketplace/profile': Profile,
+		'marketplace/saved-items': SavedItems,
+		'marketplace/publish': Publish,
+		'marketplace/published-items': PublishedItems,
+		'marketplace/buying': Buying,
+		'marketplace/buying/:item': Messages,
+		'marketplace/selling': Selling,
+		'marketplace/selling/:buyer/:item': Messages
+	}
+	const hub_registered = hub.settings.registered;
+	return hub_registered
+		? Object.assign({}, read_only_routes, registered_routes)
+		: read_only_routes;
 }
 
 export default {
@@ -56,6 +62,7 @@
 			this.current_page = this.get_current_page();
 		},
 		get_current_page() {
+			const route_map = get_route_map();
 			const curr_route = frappe.get_route_str();
 			let route = Object.keys(route_map).filter(route => route == curr_route)[0];
 			if (!route) {