feat: Add disable marketplace option in Hub Settings
diff --git a/erpnext/hub_node/doctype/hub_settings/hub_settings.js b/erpnext/hub_node/doctype/hub_settings/hub_settings.js
index 089f499..445f5a8 100644
--- a/erpnext/hub_node/doctype/hub_settings/hub_settings.js
+++ b/erpnext/hub_node/doctype/hub_settings/hub_settings.js
@@ -1,3 +1,5 @@
frappe.ui.form.on("Hub Settings", {
- onload_post_render: function() {},
+ refresh: function(frm) {
+ $('#toolbar-user .marketplace-link').toggle(!frm.doc.disable_marketplace);
+ },
});
diff --git a/erpnext/hub_node/doctype/hub_settings/hub_settings.json b/erpnext/hub_node/doctype/hub_settings/hub_settings.json
index e230515..cd2c5e8 100644
--- a/erpnext/hub_node/doctype/hub_settings/hub_settings.json
+++ b/erpnext/hub_node/doctype/hub_settings/hub_settings.json
@@ -19,6 +19,71 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
+ "fieldname": "disable_marketplace",
+ "fieldtype": "Check",
+ "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": "Disable Marketplace",
+ "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,
+ "depends_on": "eval:!doc.disable_marketplace",
+ "fieldname": "marketplace_settings_section",
+ "fieldtype": "Section Break",
+ "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": "Marketplace Settings",
+ "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,
"default": "https://hubmarket.org",
"fieldname": "hub_url",
"fieldtype": "Data",
@@ -86,7 +151,7 @@
"columns": 0,
"fieldname": "sync_in_progress",
"fieldtype": "Check",
- "hidden": 0,
+ "hidden": 1,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
@@ -479,8 +544,8 @@
"issingle": 1,
"istable": 0,
"max_attachments": 0,
- "modified": "2018-08-29 17:46:30.413159",
- "modified_by": "Administrator",
+ "modified": "2018-08-31 02:40:41.244423",
+ "modified_by": "ameya@coffee.com",
"module": "Hub Node",
"name": "Hub Settings",
"name_case": "",
@@ -513,6 +578,5 @@
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
- "track_seen": 0,
- "track_views": 0
+ "track_seen": 0
}
\ No newline at end of file
diff --git a/erpnext/public/js/hub/hub_factory.js b/erpnext/public/js/hub/hub_factory.js
index 57f27f9..5c9178f 100644
--- a/erpnext/public/js/hub/hub_factory.js
+++ b/erpnext/public/js/hub/hub_factory.js
@@ -2,12 +2,20 @@
frappe.views.marketplaceFactory = class marketplaceFactory extends frappe.views.Factory {
show() {
- if (frappe.pages.marketplace) {
- frappe.container.change_to('marketplace');
- erpnext.hub.marketplace.refresh();
- } else {
- this.make('marketplace');
- }
+ is_marketplace_disabled()
+ .then(disabled => {
+ if (disabled) {
+ frappe.show_not_found('Marketplace');
+ return;
+ }
+
+ if (frappe.pages.marketplace) {
+ frappe.container.change_to('marketplace');
+ erpnext.hub.marketplace.refresh();
+ } else {
+ this.make('marketplace');
+ }
+ });
}
make(page_name) {
@@ -23,10 +31,22 @@
}
};
+function is_marketplace_disabled() {
+ return frappe.model.with_doc('Hub Settings')
+ .then(doc => doc.disable_marketplace);
+}
+
$(document).on('toolbar_setup', () => {
$('#toolbar-user .navbar-reload').after(`
<li>
- <a href="#marketplace/home">${__('Marketplace')}
+ <a class="marketplace-link" href="#marketplace/home">${__('Marketplace')}
</li>
`);
+
+ is_marketplace_disabled()
+ .then(disabled => {
+ if (disabled) {
+ $('#toolbar-user .marketplace-link').hide();
+ }
+ });
});