2023-08-16 22:57:59 +03:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
|
|
class PersonalizationSettingsController < ApplicationController
|
2023-09-17 00:45:57 +03:00
|
|
|
def show
|
|
|
|
|
authorize!(:read, AccountConfig)
|
|
|
|
|
end
|
2023-08-16 22:57:59 +03:00
|
|
|
|
|
|
|
|
def create
|
|
|
|
|
account_config =
|
2024-01-14 01:59:13 +02:00
|
|
|
current_account.account_configs.find_or_initialize_by(key: account_config_params[:key])
|
2023-08-16 22:57:59 +03:00
|
|
|
|
2023-09-17 00:45:57 +03:00
|
|
|
authorize!(:create, account_config)
|
|
|
|
|
|
2024-01-14 01:59:13 +02:00
|
|
|
account_config.update!(account_config_params)
|
2023-08-16 22:57:59 +03:00
|
|
|
|
|
|
|
|
redirect_back(fallback_location: settings_personalization_path, notice: 'Settings have been saved.')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
2024-01-14 01:59:13 +02:00
|
|
|
def account_config_params
|
|
|
|
|
attrs = params.require(:account_config).permit!
|
|
|
|
|
|
|
|
|
|
attrs[:value]&.transform_values! do |value|
|
|
|
|
|
if value.in?(%w[true false])
|
|
|
|
|
value == 'true'
|
|
|
|
|
else
|
|
|
|
|
value
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
attrs
|
2023-08-16 22:57:59 +03:00
|
|
|
end
|
|
|
|
|
end
|