diff --git a/app/models/site_setting.rb b/app/models/site_setting.rb index d78d18c0274..80b330f359b 100644 --- a/app/models/site_setting.rb +++ b/app/models/site_setting.rb @@ -7,14 +7,23 @@ class SiteSetting < ActiveRecord::Base validates_presence_of :name validates_presence_of :data_type - SiteSettings::YamlLoader.new( File.join( Rails.root, 'config', 'site_settings.yml') ).load do |category, name, default, opts| - if opts.delete(:client) - client_setting(name, default, opts.merge(category: category)) - else - setting(name, default, opts.merge(category: category)) + def self.load_settings(file) + SiteSettings::YamlLoader.new(file).load do |category, name, default, opts| + if opts.delete(:client) + client_setting(name, default, opts.merge(category: category)) + else + setting(name, default, opts.merge(category: category)) + end end end + load_settings(File.join(Rails.root, 'config', 'site_settings.yml')) + + Dir[File.join(Rails.root, "plugins", "*", "config", "settings.yml")].each do |file| + load_settings(file) + end + + def self.call_discourse_hub? self.enforce_global_nicknames? && self.discourse_org_access_key.present? end