Module: ForemanKatelloEngine::HostsAndHostgroupsHelper

Defined in:
app/helpers/foreman_katello_engine/hosts_and_hostgroups_helper.rb

Instance Method Summary collapse

Instance Method Details

#activation_key_inputObject



4
5
6
7
8
9
10
11
12
# File 'app/helpers/foreman_katello_engine/hosts_and_hostgroups_helper.rb', line 4

def activation_key_input
  path = ""
  method = :activation_key
  options = {:class => "auto_complete_input"}
  completion_options = {}
  text_field_tag(method, nil, options) +
    auto_complete_clear_value_button(method) +
    auto_complete_field_jquery(method, "#{path}/auto_complete_#{method}", completion_options)
end

#content_view_optionsObject



44
45
46
47
48
49
50
51
52
# File 'app/helpers/foreman_katello_engine/hosts_and_hostgroups_helper.rb', line 44

def content_view_options
  cv_options = ::Environment.order(:katello_id).all.map do |env|
    selected = env.id == (@host || @hostgroup).environment_id ? "selected" : ""
    env_text = env.katello_id ? env.katello_id.split('/')[2] : env.name
    %[<option value="#{env.id}" data-katello-id="#{env.katello_id}" #{selected}>#{env_text}</option>]
  end.join

  return cv_options.html_safe
end

#envs_by_kt_orgObject



18
19
20
21
22
23
24
# File 'app/helpers/foreman_katello_engine/hosts_and_hostgroups_helper.rb', line 18

def envs_by_kt_org
  ::Environment.all.find_all(&:katello_id).group_by do |env|
    if env.katello_id
      env.katello_id.split('/').first
    end
  end
end

#grouped_env_optionsObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'app/helpers/foreman_katello_engine/hosts_and_hostgroups_helper.rb', line 26

def grouped_env_options
  grouped_options = envs_by_kt_org.sort_by(&:first).map do |kt_org_label, envs_by_org|
    optgroup = %[<optgroup label="#{kt_org_label}">]
    opts = envs_by_org.sort_by(&:katello_id).reduce({}) do |env_options, env|
      selected = env.id == (@host || @hostgroup).environment_id ? "selected" : nil
      kt_env_label = env.katello_id.split('/')[1]
      env_options[kt_env_label] ||= selected
      env_options
    end.sort_by(&:first).map do |kt_env_label, selected|
      %[<option value="#{kt_org_label}/#{kt_env_label}" class="kt-env" #{selected}>#{kt_env_label}</option>]
    end.join
    optgroup << opts
    optgroup << '</optgroup>'
  end.join
  grouped_options.insert(0, %[<option value=""></option>])
  grouped_options.html_safe
end

#kt_ak_labelObject



14
15
16
# File 'app/helpers/foreman_katello_engine/hosts_and_hostgroups_helper.rb', line 14

def kt_ak_label
  "kt_activation_keys"
end