Sha256: a60b7755f7623a278d35033ecd3bb12de82f2ce24192333efd28506ebddc0214

Contents?: true

Size: 864 Bytes

Versions: 2

Compression:

Stored size: 864 Bytes

Contents

module ForemanDiscovery
  module SettingsHelperExtensions
    extend ActiveSupport::Concern

    included do
      alias_method_chain :value, :discovery
    end

    def value_with_discovery(setting)
      return value_without_discovery(setting) unless [
        'discovery_location',
        'discovery_organization'].include?(setting.name)

      case setting.name
      when "discovery_location"
        edit_select(
          setting,
          :value,
          :select_values => discovery_taxonomy_values(Location))
      when "discovery_organization"
        edit_select(
          setting,
          :value,
          :select_values => discovery_taxonomy_values(Organization))
      end
    end

    private

    def discovery_taxonomy_values(taxonomy_class)
      Hash[taxonomy_class.all.map{ |org| [org[:title], org[:title]] }].to_json
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
foreman_discovery-5.0.2 app/helpers/concerns/foreman_discovery/settings_helper_extensions.rb
foreman_discovery-5.0.1 app/helpers/concerns/foreman_discovery/settings_helper_extensions.rb