Class: JobInvocationsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- JobInvocationsController
show all
- Includes:
- Foreman::Controller::AutoCompleteSearch, ForemanTasks::Concerns::Parameters::Triggering, JobInvocationsChartHelper
- Defined in:
- app/controllers/job_invocations_controller.rb
Instance Method Summary
collapse
#job_invocation_cancelled_status, #job_invocation_chart, #job_invocation_data, #job_invocation_failed_status, #job_invocation_pending_status, #job_invocation_status, #job_invocation_success_status, #task_cancelled?, #task_failed?
Instance Method Details
#cancel ⇒ Object
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
# File 'app/controllers/job_invocations_controller.rb', line 98
def cancel
@job_invocation = resource_base.find(params[:id])
result = @job_invocation.cancel(params[:force])
if result
flash[:info] = if params[:force]
_('Trying to abort the job')
else
_('Trying to cancel the job')
end
else
flash[:warning] = if params[:force]
_('The job cannot be aborted at the moment.')
else
_('The job cannot be cancelled at the moment.')
end
end
redirect_back(:fallback_location => job_invocation_path(@job_invocation))
end
|
#chart ⇒ Object
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# File 'app/controllers/job_invocations_controller.rb', line 73
def chart
find_resource
render :json => {
:finished => @job_invocation.finished?,
:job_invocations => job_invocation_data(@job_invocation)[:columns],
:statuses => {
:success => @job_invocation.progress_report[:success],
:cancelled => @job_invocation.progress_report[:cancelled],
:failed => @job_invocation.progress_report[:error],
:pending => @job_invocation.progress_report[:pending]
},
}
end
|
#create ⇒ Object
41
42
43
44
45
46
47
48
49
|
# File 'app/controllers/job_invocations_controller.rb', line 41
def create
@composer = prepare_composer
if @composer.trigger
redirect_to job_invocation_path(@composer.job_invocation)
else
@composer.job_invocation.description_format = nil if params.fetch(:job_invocation, {}).key?(:description_override)
render :action => 'new'
end
end
|
#index ⇒ Object
63
64
65
|
# File 'app/controllers/job_invocations_controller.rb', line 63
def index
@job_invocations = resource_base_search_and_page.with_task.order('job_invocations.id DESC')
end
|
#new ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'app/controllers/job_invocations_controller.rb', line 7
def new
return @composer = prepare_composer if params[:feature].present?
ui_params = {
:host_ids => params[:host_ids],
:targeting => {
:targeting_type => Targeting::STATIC_TYPE,
:bookmark_id => params[:bookmark_id]
}
}
if params.key?(:search)
query = params[:search].empty? ? "name != ''" : params[:search]
ui_params[:targeting].update(:search_query => query)
end
if (template = JobTemplate.find_by(id: params[:template_id]))
ui_params[:job_invocation] = {
:job_category => template.job_category,
:providers => {
template.provider_type => {:job_template_id => template.id}
}
}
end
@composer = JobInvocationComposer.from_ui_params(ui_params)
end
|
#preview_hosts ⇒ Object
87
88
89
90
91
92
93
94
95
96
|
# File 'app/controllers/job_invocations_controller.rb', line 87
def preview_hosts
composer = prepare_composer
@hosts = composer.targeted_hosts.limit(Setting[:entries_per_page])
@additional = composer.targeted_hosts.count - Setting[:entries_per_page]
@dynamic = composer.targeting.dynamic?
@query = composer.displayed_search_query
render :partial => 'job_invocations/preview_hosts_list'
end
|
#refresh ⇒ Object
68
69
70
71
|
# File 'app/controllers/job_invocations_controller.rb', line 68
def refresh
params[:job_invocation].delete :description_format if params[:job_invocation].key?(:description_override)
@composer = prepare_composer
end
|
#rerun ⇒ Object
35
36
37
38
39
|
# File 'app/controllers/job_invocations_controller.rb', line 35
def rerun
job_invocation = resource_base.find(params[:id])
@composer = JobInvocationComposer.from_job_invocation(job_invocation, params)
render :action => 'new'
end
|
#show ⇒ Object
51
52
53
54
55
56
57
58
59
60
61
|
# File 'app/controllers/job_invocations_controller.rb', line 51
def show
@job_invocation = resource_base.includes(:template_invocations => :run_host_job_task).find(params[:id])
@auto_refresh = @job_invocation.task.try(:pending?)
@resource_base = @job_invocation.targeting.hosts.authorized(:view_hosts, Host)
unless params[:search].nil?
@resource_base = @resource_base.joins(:template_invocations)
.where(:template_invocations => { :job_invocation_id => @job_invocation.id})
end
@hosts = resource_base_search_and_page
end
|