Class: UiJobWizardController

Inherits:
ApplicationController
  • Object
show all
Includes:
FiltersHelper
Defined in:
app/controllers/ui_job_wizard_controller.rb

Instance Method Summary collapse

Instance Method Details

#action_permissionObject



50
51
52
# File 'app/controllers/ui_job_wizard_controller.rb', line 50

def action_permission
  :view_job_templates
end

#categoriesObject



3
4
5
6
7
8
9
10
11
# File 'app/controllers/ui_job_wizard_controller.rb', line 3

def categories
  job_categories = resource_scope
                   .search_for("job_category ~ \"#{params[:search]}\"")
                   .where(:snippet => false)
                   .select(:job_category).distinct
                   .reorder(:job_category)
                   .pluck(:job_category)
  render :json => {:job_categories => job_categories, :with_katello => with_katello, default_category: default_category, default_template: default_template&.id}
end

#default_categoryObject



28
29
30
# File 'app/controllers/ui_job_wizard_controller.rb', line 28

def default_category
  default_template&.job_category
end

#default_templateObject



32
33
34
35
36
# File 'app/controllers/ui_job_wizard_controller.rb', line 32

def default_template
  if (setting_value = Setting['remote_execution_form_job_template'])
    JobTemplate.authorized(:view_job_templates).find_by :name => setting_value
  end
end

#map_template_inputs(template_inputs_with_foreign) ⇒ Object



24
25
26
# File 'app/controllers/ui_job_wizard_controller.rb', line 24

def map_template_inputs(template_inputs_with_foreign)
  template_inputs_with_foreign.map { |input| input.attributes.merge({:resource_type_tableize => input.resource_type&.tableize }) }
end

#resource_classObject



46
47
48
# File 'app/controllers/ui_job_wizard_controller.rb', line 46

def resource_class
  JobTemplate
end

#resource_name(nested_resource = nil) ⇒ Object



38
39
40
# File 'app/controllers/ui_job_wizard_controller.rb', line 38

def resource_name(nested_resource = nil)
  nested_resource || 'job_template'
end

#resourcesObject



54
55
56
57
58
59
# File 'app/controllers/ui_job_wizard_controller.rb', line 54

def resources
  resource_type = params[:resource]
  resource_list = resource_type.constantize.authorized("view_#{resource_type.underscore.pluralize}").all.map { |r| {:name => r.to_s, :id => r.id } }.select { |v| v[:name] =~ /#{params[:name]}/ }
  render :json => { :results =>
    resource_list.sort_by { |r| r[:name] }.take(100), :subtotal => resource_list.count}
end

#templateObject



13
14
15
16
17
18
19
20
21
22
# File 'app/controllers/ui_job_wizard_controller.rb', line 13

def template
  job_template = JobTemplate.authorized.find(params[:id])
  advanced_template_inputs, template_inputs = map_template_inputs(job_template.template_inputs_with_foreign).partition { |x| x["advanced"] }
  render :json => {
    :job_template => job_template,
    :effective_user => job_template.effective_user,
    :template_inputs => template_inputs,
    :advanced_template_inputs => advanced_template_inputs,
  }
end

#with_katelloObject



42
43
44
# File 'app/controllers/ui_job_wizard_controller.rb', line 42

def with_katello
  !!defined?(::Katello)
end