2013-02-06 03:16:51 +08:00
|
|
|
class Admin::SiteSettingsController < Admin::AdminController
|
|
|
|
|
|
|
|
def index
|
2013-04-05 14:43:48 +08:00
|
|
|
site_settings = SiteSetting.all_settings
|
|
|
|
info = {site_settings: site_settings, diags: SiteSetting.diags }
|
|
|
|
render_json_dump(info.as_json)
|
2013-02-06 03:16:51 +08:00
|
|
|
end
|
|
|
|
|
2013-02-07 23:45:24 +08:00
|
|
|
def update
|
2014-01-06 20:03:53 +08:00
|
|
|
params.require(:id)
|
|
|
|
id = params[:id]
|
|
|
|
value = params[id]
|
2014-04-08 16:59:48 +08:00
|
|
|
value.strip! if value.is_a?(String)
|
2014-06-10 03:17:36 +08:00
|
|
|
begin
|
|
|
|
prev_value = SiteSetting.send(id)
|
|
|
|
SiteSetting.set(id, value)
|
|
|
|
StaffActionLogger.new(current_user).log_site_setting_change(id, prev_value, value) if SiteSetting.has_setting?(id)
|
|
|
|
render nothing: true
|
|
|
|
rescue Discourse::InvalidParameters => e
|
|
|
|
render json: {errors: [e.message]}, status: 422
|
|
|
|
end
|
2013-02-07 23:45:24 +08:00
|
|
|
end
|
2013-02-06 03:16:51 +08:00
|
|
|
|
|
|
|
end
|