Module: ForemanPuppet::Extensions::ParametersHostgroup::PatchedMethods

Defined in:
app/controllers/concerns/foreman_puppet/extensions/parameters_hostgroup.rb

Instance Method Summary collapse

Instance Method Details

#hostgroup_params(*attrs) ⇒ Object



28
29
30
31
32
33
34
# File 'app/controllers/concerns/foreman_puppet/extensions/parameters_hostgroup.rb', line 28

def hostgroup_params(*attrs)
  params = super(*attrs)

  process_deprecated_hostgroup_environment_params!(params)
  process_deprecated_hostgroup_attributes!(params)
  params
end

#process_deprecated_hostgroup_attributes!(params) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'app/controllers/concerns/foreman_puppet/extensions/parameters_hostgroup.rb', line 54

def process_deprecated_hostgroup_attributes!(params)
  %w[puppetclass config_group].each do |relation|
    ids = params.delete("#{relation}_ids")
    names = params.delete("#{relation}_names")

    next unless ids || names
    ::Foreman::Deprecation.api_deprecation_warning("param hostgroup[#{relation}_*] has been deprecated in favor of hostgroup[puppet_attributes][#{relation}_*]")

    params[:puppet_attributes] ||= {}
    params[:puppet_attributes]["#{relation}_ids".to_sym] ||= ids if ids
    params[:puppet_attributes]["#{relation}_names".to_sym] ||= names if names
  end
end

#process_deprecated_hostgroup_environment_params!(params) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'app/controllers/concerns/foreman_puppet/extensions/parameters_hostgroup.rb', line 36

def process_deprecated_hostgroup_environment_params!(params)
  env_id = env_name = nil
  if ForemanPuppet.extracted_from_core?
    env_id = params.delete(:environment_id)
    env_name = params.delete(:environment_name)
  else
    env_id = params[:environment_id]
    env_name = params[:environment_name]
  end

  return unless env_id || env_name
  ::Foreman::Deprecation.api_deprecation_warning('param hostgroup[environment_*] has been deprecated in favor of hostgroup[puppet_attributes][environment_*]')

  params[:puppet_attributes] ||= {}
  params[:puppet_attributes][:environment_id] ||= env_id if env_id
  params[:puppet_attributes][:environment_name] ||= env_name if env_name
end