docbrown/app/controllers/concerns/settings_params.rb
Michael Kohl 6dfabd578f
Rename SiteConfig to Settings::General (#13573)
* Rename SiteConfig

* More renaming

* Update spec

* Update mandatory settings mapping

* More renaming

* e2e test fixes

* You have a rename, and you have a rename

* Spec fix

* More changes

* Temporarily disable specs

* After-merge update

* Undo rename for migration

* undo rename of DUS

* Fix DUS

* Fix merge problem

* Remove redundant DUS

* Fix specs

* Remove unused code

* Change wrong class name

* More cleanup

* Re-add missing values to constant

* Fix constant

* Fix spec

* Remove obsolete fields

* Add accidentally removed field

* Update spec

* Move methods from Settings::General to ForemInstance

* Remove unneeded model

* Change mentions of 'site config'
2021-05-21 14:45:37 +02:00

27 lines
861 B
Ruby

# Helper method for controllers interacting with Settings::General
module SettingsParams
SPECIAL_PARAMS_TO_ADD = %w[
credit_prices_in_cents
email_addresses
meta_keywords
].freeze
def settings_params
has_emails = params.dig(:settings_general, :email_addresses).present?
params[:settings_general][:email_addresses][:default] = ApplicationConfig["DEFAULT_EMAIL"] if has_emails
params.require(:settings_general)&.permit(
settings_keys.map(&:to_sym),
social_media_handles: Settings::General.social_media_handles.keys,
email_addresses: Settings::General.email_addresses.keys,
meta_keywords: Settings::General.meta_keywords.keys,
credit_prices_in_cents: Settings::General.credit_prices_in_cents.keys,
)
end
private
def settings_keys
Settings::General.keys + SPECIAL_PARAMS_TO_ADD
end
end