1 # frozen_string_literal: true
4 class SettingsController
< BaseController
11 site_extended_description
14 closed_registrations_message
18 bootstrap_timeline_accounts
26 show_known_fediverse_at_about_page
27 preview_sensitive_media
31 BOOLEAN_SETTINGS
= %w(
38 show_known_fediverse_at_about_page
39 preview_sensitive_media
49 authorize
:settings, :show?
50 @admin_settings = Form
::AdminSettings.new
54 authorize
:settings, :update?
56 settings_params
.each
do |key
, value
|
57 if UPLOAD_SETTINGS
.include?(key
)
58 upload
= SiteUpload
.where(var
: key
).first_or_initialize(var
: key
)
59 upload
.update(file
: value
)
61 setting
= Setting
.where(var
: key
).first_or_initialize(var
: key
)
62 setting
.update(value
: value_for_update(key
, value
))
66 flash
[:notice] = I18n
.t('generic.changes_saved_msg')
67 redirect_to edit_admin_settings_path
73 params
.require(:form_admin_settings).permit(ADMIN_SETTINGS
)
76 def value_for_update(key
, value
)
77 if BOOLEAN_SETTINGS
.include?(key
)