Merge pull request #11154 from netchampfaris/hub-item-image

[hub] fix company page routing
diff --git a/erpnext/hub_node/__init__.py b/erpnext/hub_node/__init__.py
index 686fe8d..3216f0d 100644
--- a/erpnext/hub_node/__init__.py
+++ b/erpnext/hub_node/__init__.py
@@ -15,13 +15,16 @@
 	return hub_settings
 
 @frappe.whitelist()
-def get_items(start=0, limit=20, category=None, order_by=None, text=None):
+def get_items(start=0, limit=20, category=None, order_by=None, company=None, text=None):
 	connection = get_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)
diff --git a/erpnext/hub_node/page/hub/hub.js b/erpnext/hub_node/page/hub/hub.js
index c253155..b065f0a 100644
--- a/erpnext/hub_node/page/hub/hub.js
+++ b/erpnext/hub_node/page/hub/hub.js
@@ -215,7 +215,7 @@
 			.on('click', '.company-link a', function(e) {
 				e.preventDefault();
 				const company_name = $(this).attr('data-company-name');
-				me.get_company_details(company_name);
+				frappe.set_route('hub', 'Company', company_name);
 			})
 			.on('click', '.breadcrumb li', function(e) {
 				e.preventDefault();
@@ -475,26 +475,34 @@
 	}
 
 	get_company_details(company_id) {
-		// get from cache if exists
-		let company_details = this.company_cache[company_id];
-		if(this.company_cache[company_id]) {
-			this.go_to_company_page(company_details);
-			return;
-		}
-		frappe.call({
-			method: 'erpnext.hub_node.get_company_details',
-			args: {hub_sync_id: company_id}
-		}).then((r) => {
-			if (r.message) {
-				const company_details = r.message.company_details;
-				this.company_cache[company_id] = company_details;
-				this.go_to_company_page(company_details)
+		this.company_cache = this.company_cache || {};
+
+		return new Promise(resolve => {
+			// get from cache if exists
+			let company_details = this.company_cache[company_id];
+			if(company_details) {
+				resolve(company_details);
+				return;
 			}
-		});
+			frappe.call({
+				method: 'erpnext.hub_node.get_company_details',
+				args: {hub_sync_id: company_id}
+			}).then((r) => {
+				if (r.message) {
+					const company_details = r.message;
+					this.company_cache[company_id] = company_details;
+					resolve(company_details)
+				}
+			});
+		})
 	}
 
-	go_to_company_page(company_details) {
-		frappe.set_route('hub', 'Company', company_details.company_name);
+	go_to_company_page(company_id) {
+		this.get_company_details(company_id)
+			.then(this.show_company_page.bind(this));
+	}
+
+	show_company_page(company_details) {
 		this.$hub_main_section.empty();
 
 		let $company_page =
@@ -573,10 +581,10 @@
 							<h2>${ company_details.company_name }</h2>
 						</div>
 						<div class="company">
-							<span class="">${ company_details.seller_city }</span>
+							<span class="">${ company_details.country }</span>
 						</div>
 						<div class="description">
-							<span class="small">${ company_details.seller_description }</span>
+							<span class="small">${ company_details.site_name }</span>
 						</div>
 					</div>
 
@@ -835,7 +843,7 @@
 					</div>
 				</a>
 				<div class="company-link">
-					<a data-company-name="${ item.company_id }" class="">${ item.company_name }</a>
+					<a data-company-name="${ item.company_name }" class="">${ item.company_name }</a>
 				</div>
 				<div>${ item.formatted_price ? item.formatted_price : ''}</div>
 			</div>