DEV: Add configurable? helper to Plugin::Instance (#20767)

This can be used to forcibly disable plugins.
This commit is contained in:
Bianca Nenciu
2023-05-10 12:16:37 +02:00
committed by GitHub
parent c6b43ce68b
commit 3073e5cfb0
7 changed files with 100 additions and 16 deletions

View File

@ -346,7 +346,11 @@ class ApplicationController < ActionController::Base
# disabled. This allows plugins to be disabled programmatically.
def self.requires_plugin(plugin_name)
before_action do
raise PluginDisabled.new if Discourse.disabled_plugin_names.include?(plugin_name)
if plugin = Discourse.plugins_by_name[plugin_name]
raise PluginDisabled.new if !plugin.enabled?
else
Rails.logger.warn("Required plugin '#{plugin_name}' not found")
end
end
end