Add ability to run validation on site settings. notification_email and other email address settings are now validated.

This commit is contained in:
Neil Lalonde
2014-06-09 15:17:36 -04:00
parent 8e882ad145
commit c61462662b
10 changed files with 100 additions and 10 deletions

View File

@ -11,9 +11,14 @@ class Admin::SiteSettingsController < Admin::AdminController
id = params[:id]
value = params[id]
value.strip! if value.is_a?(String)
StaffActionLogger.new(current_user).log_site_setting_change(id, SiteSetting.send(id), value) if SiteSetting.has_setting?(id)
SiteSetting.set(id, value)
render nothing: true
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
end
end