discourse/app/controllers/admin/site_settings_controller.rb

25 lines
734 B
Ruby
Raw Normal View History

2013-02-05 14:16:51 -05:00
class Admin::SiteSettingsController < Admin::AdminController
def index
2015-03-02 12:12:19 -05:00
render_json_dump(site_settings: SiteSetting.all_settings, diags: SiteSetting.diags)
2013-02-05 14:16:51 -05:00
end
2013-02-07 10:45:24 -05:00
def update
2014-01-06 07:03:53 -05:00
params.require(:id)
id = params[:id]
value = params[id]
2014-04-08 04:59:48 -04:00
value.strip! if value.is_a?(String)
begin
# note, as of Ruby 2.3 symbols are GC'd so this is considered safe
if SiteSetting.hidden_settings.include?(id.to_sym)
raise Discourse::InvalidParameters, "You are not allowed to change hidden settings"
end
SiteSetting.set_and_log(id, value, current_user)
render nothing: true
rescue Discourse::InvalidParameters => e
2017-07-27 21:20:09 -04:00
render json: { errors: [e.message] }, status: 422
end
2013-02-07 10:45:24 -05:00
end
2013-02-05 14:16:51 -05:00
end