From 25f509ebd31da584144c5b1b7a325e609bd51ba3 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Fri, 31 Aug 2018 15:35:32 +0530 Subject: [PATCH] feat: Add disable marketplace option in Hub Settings --- .../doctype/hub_settings/hub_settings.js | 4 +- .../doctype/hub_settings/hub_settings.json | 74 +++++++++++++++++-- erpnext/public/js/hub/hub_factory.js | 34 +++++++-- 3 files changed, 99 insertions(+), 13 deletions(-) diff --git a/erpnext/hub_node/doctype/hub_settings/hub_settings.js b/erpnext/hub_node/doctype/hub_settings/hub_settings.js index 089f4999197..445f5a831d8 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 e230515aae0..cd2c5e8acb5 100644 --- a/erpnext/hub_node/doctype/hub_settings/hub_settings.json +++ b/erpnext/hub_node/doctype/hub_settings/hub_settings.json @@ -12,6 +12,71 @@ "document_type": "", "editable_grid": 0, "fields": [ + { + "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "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, @@ -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 57f27f982e2..5c9178fa54e 100644 --- a/erpnext/public/js/hub/hub_factory.js +++ b/erpnext/public/js/hub/hub_factory.js @@ -2,12 +2,20 @@ frappe.provide('erpnext.hub'); 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 @@ frappe.views.marketplaceFactory = class marketplaceFactory extends frappe.views. } }; +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(`
  • - ${__('Marketplace')} + ${__('Marketplace')}
  • `); + + is_marketplace_disabled() + .then(disabled => { + if (disabled) { + $('#toolbar-user .marketplace-link').hide(); + } + }); });