Refactor admin settings, add all service settings

This commit is contained in:
Râu Cao
2023-03-15 11:40:47 +07:00
committed by Gitea
parent 295d486761
commit ca1221e9f3
18 changed files with 296 additions and 58 deletions

View File

@@ -4,25 +4,7 @@ class Admin::Settings::RegistrationsController < Admin::SettingsController
end
def create
@errors = ActiveModel::Errors.new(Setting.new)
setting_params.keys.each do |key|
next if setting_params[key].nil?
setting = Setting.new(var: key)
setting.value = setting_params[key].strip
unless setting.valid?
@errors.merge!(setting.errors)
end
end
if @errors.any?
render :index
end
setting_params.keys.each do |key|
Setting.send("#{key}=", setting_params[key].strip) unless setting_params[key].nil?
end
update_settings
redirect_to admin_settings_registrations_path, flash: {
success: "Settings saved"

View File

@@ -1,9 +1,35 @@
class Admin::Settings::ServicesController < Admin::SettingsController
def index
@service = params[:s]
if @service.blank?
redirect_to admin_settings_services_path(params: { s: "discourse" })
end
end
def update
def create
service = params.require(:service)
update_settings
redirect_to admin_settings_services_path(params: { s: service }), flash: {
success: "Settings saved"
}
end
def setting_params
params.require(:setting).permit(
:discourse_enabled,
:ejabberd_enabled,
:gitea_enabled,
:lndhub_enabled,
:lndhub_admin_enabled,
:lndhub_keysend_enabled,
:mastodon_enabled,
:mediawiki_enabled,
:nostr_enabled,
)
end
end