diff options
author | Matt Jankowski <mjankowski@thoughtbot.com> | 2017-05-04 12:12:44 -0400 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-05-04 18:12:44 +0200 |
commit | 2bd132d4581048a96b4d36b5a94e6749c68b8987 (patch) | |
tree | af5934149cf052733441f01078addef067707c37 /app/controllers/admin | |
parent | 91ddd345f2df09089403ca078a4a5987d43ea88b (diff) |
Replace best_in_place editor on admin settings page (#2789)
* Remove best_in_place * Replace best_in_place usage with rails helpers * Move admin/settings#index to #edit action * Remove click_to__edit from i18n
Diffstat (limited to 'app/controllers/admin')
-rw-r--r-- | app/controllers/admin/settings_controller.rb | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/app/controllers/admin/settings_controller.rb b/app/controllers/admin/settings_controller.rb index fc9064068..fcd42c79c 100644 --- a/app/controllers/admin/settings_controller.rb +++ b/app/controllers/admin/settings_controller.rb @@ -2,38 +2,43 @@ module Admin class SettingsController < BaseController + ADMIN_SETTINGS = %w( + site_contact_username + site_contact_email + site_title + site_description + site_extended_description + open_registrations + closed_registrations_message + ).freeze BOOLEAN_SETTINGS = %w(open_registrations).freeze - def index + def edit @settings = Setting.all_as_records end def update - @setting = Setting.where(var: params[:id]).first_or_initialize(var: params[:id]) - @setting.update(value: value_for_update) - - respond_to do |format| - format.html { redirect_to admin_settings_path } - format.json { respond_with_bip(@setting) } + settings_params.each do |key, value| + setting = Setting.where(var: key).first_or_initialize(var: key) + setting.update(value: value_for_update(key, value)) end + + flash[:notice] = 'Success!' + redirect_to edit_admin_settings_path end private def settings_params - params.require(:setting).permit(:value) + params.permit(ADMIN_SETTINGS) end - def value_for_update - if updating_boolean_setting? - settings_params[:value] == 'true' + def value_for_update(key, value) + if BOOLEAN_SETTINGS.include?(key) + value == 'true' else - settings_params[:value] + value end end - - def updating_boolean_setting? - BOOLEAN_SETTINGS.include?(params[:id]) - end end end |