From 68dbf7f99cb8e4282f1493cc19d0cbc8096fead0 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Fri, 2 Nov 2018 13:30:51 +0530 Subject: [PATCH 1/3] fix: Use frappe.utils.make_event_emitter --- erpnext/public/js/hub/event_emitter.js | 31 -------------------------- erpnext/public/js/hub/marketplace.js | 5 ++--- 2 files changed, 2 insertions(+), 34 deletions(-) delete mode 100644 erpnext/public/js/hub/event_emitter.js diff --git a/erpnext/public/js/hub/event_emitter.js b/erpnext/public/js/hub/event_emitter.js deleted file mode 100644 index 1e7288191d..0000000000 --- a/erpnext/public/js/hub/event_emitter.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Simple EventEmitter which uses jQuery's event system - */ -class EventEmitter { - init() { - this.jq = jQuery(this); - } - - trigger(evt, data) { - !this.jq && this.init(); - this.jq.trigger(evt, data); - } - - once(evt, handler) { - !this.jq && this.init(); - this.jq.one(evt, (e, data) => handler(data)); - } - - on(evt, handler) { - !this.jq && this.init(); - this.jq.bind(evt, (e, data) => handler(data)); - } - - off(evt, handler) { - !this.jq && this.init(); - this.jq.unbind(evt, (e, data) => handler(data)); - } -} - - -export default EventEmitter; \ No newline at end of file diff --git a/erpnext/public/js/hub/marketplace.js b/erpnext/public/js/hub/marketplace.js index 7ef87c4eb6..a1596e0043 100644 --- a/erpnext/public/js/hub/marketplace.js +++ b/erpnext/public/js/hub/marketplace.js @@ -8,14 +8,13 @@ import { ProfileDialog } from './components/profile_dialog'; // helpers import './hub_call'; -import EventEmitter from './event_emitter'; frappe.provide('hub'); frappe.provide('erpnext.hub'); frappe.provide('frappe.route'); -$.extend(erpnext.hub, EventEmitter.prototype); -$.extend(frappe.route, EventEmitter.prototype); +frappe.utils.make_event_emitter(frappe.route); +frappe.utils.make_event_emitter(erpnext.hub); erpnext.hub.Marketplace = class Marketplace { constructor({ parent }) { From 0d08da50c69cb90920fa01bab41c98bbdd3c518d Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Mon, 5 Nov 2018 15:47:26 +0530 Subject: [PATCH 2/3] fix: Refresh PageContainer component based on current route --- erpnext/public/js/hub/PageContainer.vue | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/erpnext/public/js/hub/PageContainer.vue b/erpnext/public/js/hub/PageContainer.vue index 5ec92d581b..a101eaf4d3 100644 --- a/erpnext/public/js/hub/PageContainer.vue +++ b/erpnext/public/js/hub/PageContainer.vue @@ -1,6 +1,6 @@ @@ -100,10 +100,16 @@ export default { } if (!route) { - return NotFound; + return { + key: 'not-found', + component: NotFound + }; } - return route_map[route]; + return { + key: curr_route, + component: route_map[route] + } } } } From d6b664f7eecb86b9befd2dd845be72c91f7bfe87 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Mon, 5 Nov 2018 19:18:48 +0530 Subject: [PATCH 3/3] fix(hub): Prevent registered actions --- erpnext/hub_node/api.py | 1 - erpnext/public/js/hub/components/ReviewArea.vue | 4 ++++ erpnext/public/js/hub/pages/Item.vue | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/erpnext/hub_node/api.py b/erpnext/hub_node/api.py index 23564010e7..c236822490 100644 --- a/erpnext/hub_node/api.py +++ b/erpnext/hub_node/api.py @@ -10,7 +10,6 @@ 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 current_user = frappe.session.user diff --git a/erpnext/public/js/hub/components/ReviewArea.vue b/erpnext/public/js/hub/components/ReviewArea.vue index 51b9ab1502..5e4e439f3d 100644 --- a/erpnext/public/js/hub/components/ReviewArea.vue +++ b/erpnext/public/js/hub/components/ReviewArea.vue @@ -113,6 +113,10 @@ export default { content: this.review_content.get_value() }); + if (!hub.is_seller_registered()) { + frappe.throw(__('You need to login as a Marketplace User before you can add any reviews.')); + } + hub.call('add_item_review', { hub_item_name: this.hub_item_name, review: JSON.stringify(review) diff --git a/erpnext/public/js/hub/pages/Item.vue b/erpnext/public/js/hub/pages/Item.vue index 651533eae3..7735aa2337 100644 --- a/erpnext/public/js/hub/pages/Item.vue +++ b/erpnext/public/js/hub/pages/Item.vue @@ -265,6 +265,9 @@ export default { }, report_item() { + if (!hub.is_seller_registered()) { + frappe.throw(__('Please login as a Marketplace User to report this item.')); + } this.report_item_dialog.show(); },