mirror of
https://github.com/internetee/registry.git
synced 2025-06-06 20:55:44 +02:00
Make new setting model configurable from admin/settings
This commit is contained in:
parent
b3941a373c
commit
d8625dd3eb
3 changed files with 10 additions and 17 deletions
|
@ -12,17 +12,13 @@ module Admin
|
||||||
end
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@errors = Setting.params_errors(casted_settings)
|
update = SettingEntry.update(casted_settings.keys, casted_settings.values)
|
||||||
if @errors.empty?
|
if update
|
||||||
casted_settings.each do |k, v|
|
|
||||||
Setting[k] = v
|
|
||||||
end
|
|
||||||
|
|
||||||
flash[:notice] = t('.saved')
|
flash[:notice] = t('.saved')
|
||||||
redirect_to [:admin, :settings]
|
redirect_to %i[admin settings]
|
||||||
else
|
else
|
||||||
flash[:alert] = @errors.values.uniq.join(", ")
|
flash[:alert] = update.errors.values.uniq.join(', ')
|
||||||
render "admin/settings/index"
|
render 'admin/settings/index'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -32,10 +28,7 @@ module Admin
|
||||||
settings = {}
|
settings = {}
|
||||||
|
|
||||||
params[:settings].each do |k, v|
|
params[:settings].each do |k, v|
|
||||||
settings[k] = v
|
settings[k] = { value: v }
|
||||||
settings[k] = v.to_i if Setting.integer_settings.include?(k.to_sym)
|
|
||||||
settings[k] = v.to_f if Setting.float_settings.include?(k.to_sym)
|
|
||||||
settings[k] = (v == 'true' ? true : false) if Setting.boolean_settings.include?(k.to_sym)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
settings
|
settings
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
%td.col-md-6= setting.code.humanize
|
%td.col-md-6= setting.code.humanize
|
||||||
- if [TrueClass, FalseClass].include?(setting.value.class)
|
- if [TrueClass, FalseClass].include?(setting.value.class)
|
||||||
%td.col-md-6
|
%td.col-md-6
|
||||||
= hidden_field_tag("[settings][#{setting.code}]", '', id: nil)
|
= hidden_field_tag("[settings][#{setting.id}]", '', id: nil)
|
||||||
= check_box_tag("[settings][#{setting.code}]", true, value)
|
= check_box_tag("[settings][#{setting.id}]", true, value)
|
||||||
- else
|
- else
|
||||||
%td.col-md-6= text_field_tag("[settings][#{setting.code}]", setting.value, class: 'form-control')
|
%td.col-md-6= text_field_tag("[settings][#{setting.id}]", setting.value, class: 'form-control')
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
%tr
|
%tr
|
||||||
%td.col-md-6= label_tag :default_language
|
%td.col-md-6= label_tag :default_language
|
||||||
%td.col-md-6
|
%td.col-md-6
|
||||||
= select_tag '[settings][default_language]',
|
= select_tag "[settings][#{SettingEntry.find_by(code: 'default_language').id || 1}]",
|
||||||
options_for_select(available_languages, Setting.default_language),
|
options_for_select(available_languages, Setting.default_language),
|
||||||
class: 'form-control'
|
class: 'form-control'
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue