hide protected keys from config
This commit is contained in:
parent
90f60595e6
commit
429e111db4
2 changed files with 4 additions and 1 deletions
|
@ -1,12 +1,14 @@
|
||||||
module Admin::ConfigsHelper
|
module Admin::ConfigsHelper
|
||||||
# Returns form input for configuration key.
|
# Returns form input for configuration key.
|
||||||
# For configuration keys that contain a {Hash}, {ActiveView::Helpers::FormBuilder#fields_for fields_for} can be used.
|
# For configuration keys that contain a {Hash}, {ActiveView::Helpers::FormBuilder#fields_for fields_for} can be used.
|
||||||
|
# When the key is not {FoodsoftConfig#allowed_key? allowed}, +nil+ is returned.
|
||||||
# @param form [ActionView::Helpers::FormBuilder] Form object.
|
# @param form [ActionView::Helpers::FormBuilder] Form object.
|
||||||
# @param key [Symbol, String] Configuration key.
|
# @param key [Symbol, String] Configuration key.
|
||||||
# @param options [Hash] Options passed to the form builder.
|
# @param options [Hash] Options passed to the form builder.
|
||||||
# @option options [Boolean] :required Wether field is shown as required (default not).
|
# @option options [Boolean] :required Wether field is shown as required (default not).
|
||||||
# @return [String] Form input for configuration key.
|
# @return [String] Form input for configuration key.
|
||||||
def config_input(form, key, options = {}, &block)
|
def config_input(form, key, options = {}, &block)
|
||||||
|
return unless @cfg.allowed_key? key
|
||||||
options[:label] = config_input_label(form, key)
|
options[:label] = config_input_label(form, key)
|
||||||
options[:required] ||= false
|
options[:required] ||= false
|
||||||
options[:input_html] ||= {}
|
options[:input_html] ||= {}
|
||||||
|
@ -36,6 +38,7 @@ module Admin::ConfigsHelper
|
||||||
# @see config_input
|
# @see config_input
|
||||||
# @todo find out how to pass +checked_value+ and +unchecked_value+ to +input_field+
|
# @todo find out how to pass +checked_value+ and +unchecked_value+ to +input_field+
|
||||||
def config_input_field(form, key, options = {})
|
def config_input_field(form, key, options = {})
|
||||||
|
return unless @cfg.allowed_key? :key
|
||||||
config_input_field_options form, key, options
|
config_input_field_options form, key, options
|
||||||
config_input_tooltip_options form, key, options
|
config_input_tooltip_options form, key, options
|
||||||
if options[:as] == :boolean
|
if options[:as] == :boolean
|
||||||
|
|
|
@ -130,7 +130,7 @@ class FoodsoftConfig
|
||||||
# @return [Boolean] Whether this key may be set in the database
|
# @return [Boolean] Whether this key may be set in the database
|
||||||
def allowed_key?(key)
|
def allowed_key?(key)
|
||||||
# fast check for keys without nesting
|
# fast check for keys without nesting
|
||||||
return !self.config[:protected].keys.include?(key)
|
return !self.config[:protected].keys.include?(key.to_s)
|
||||||
# @todo allow to check nested keys as well
|
# @todo allow to check nested keys as well
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue