diff --git a/public/language/en-GB/admin/extend/plugins.json b/public/language/en-GB/admin/extend/plugins.json index 4849f0cab2..4afc7e5564 100644 --- a/public/language/en-GB/admin/extend/plugins.json +++ b/public/language/en-GB/admin/extend/plugins.json @@ -54,5 +54,6 @@ "license.title": "Plugin License Information", "license.intro": "The plugin %1 is licensed under the %2. Please read and understand the license terms prior to activating this plugin.", - "license.cta": "Do you wish to continue with activating this plugin?" + "license.cta": "Do you wish to continue with activating this plugin?", + "starter-plan-warning": "Plugins page is disabled on \"Starter\" plans, if you wish to upgrade your plan please contact us at support@nodebb.org" } diff --git a/public/src/admin/extend/plugins.js b/public/src/admin/extend/plugins.js index 1419dffe32..6fb820a946 100644 --- a/public/src/admin/extend/plugins.js +++ b/public/src/admin/extend/plugins.js @@ -22,7 +22,6 @@ define('admin/extend/plugins', [ pluginsList.on('click', 'button[data-action="toggleActive"]', function () { const pluginEl = $(this).parents('li'); pluginID = pluginEl.attr('data-plugin-id'); - // const btn = $('[id="' + pluginID + '"] [data-action="toggleActive"]'); const btn = $(this); const pluginData = ajaxify.data.installed[pluginEl.attr('data-plugin-index')]; diff --git a/src/controllers/admin/plugins.js b/src/controllers/admin/plugins.js index 7cc09c98bf..f30de0b527 100644 --- a/src/controllers/admin/plugins.js +++ b/src/controllers/admin/plugins.js @@ -47,6 +47,7 @@ pluginsController.get = async function (req, res) { trending: trendingPlugins, submitPluginUsage: meta.config.submitPluginUsage, version: nconf.get('version'), + isStarterPlan: nconf.get('saas_plan') === 'starter', }); }; diff --git a/src/install.js b/src/install.js index 54ea7a325f..a1f365126e 100644 --- a/src/install.js +++ b/src/install.js @@ -199,6 +199,11 @@ async function completeConfigSetup(config) { if (nconf.get('package_manager')) { config.package_manager = nconf.get('package_manager'); } + + if (install.values.hasOwnProperty('saas_plan')) { + config.saas_plan = install.values.saas_plan; + } + nconf.overrides(config); const db = require('./database'); await db.init(); @@ -619,7 +624,10 @@ install.save = async function (server_conf) { } } - await fs.promises.writeFile(serverConfigPath, JSON.stringify({ ...currentConfig, ...server_conf }, null, 4)); + await fs.promises.writeFile(serverConfigPath, JSON.stringify({ + ...currentConfig, + ...server_conf, + }, null, 4)); console.log('Configuration Saved OK'); nconf.file({ file: serverConfigPath, diff --git a/src/views/admin/extend/plugins.tpl b/src/views/admin/extend/plugins.tpl index e2f7c730d7..0c3c7620f6 100644 --- a/src/views/admin/extend/plugins.tpl +++ b/src/views/admin/extend/plugins.tpl @@ -1,15 +1,22 @@ +{{{ if isStarterPlan}}} +