foreman-tasks 4.1.0 → 4.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/concerns/foreman_tasks/find_tasks_common.rb +14 -0
- data/app/controllers/foreman_tasks/api/tasks_controller.rb +4 -3
- data/app/controllers/foreman_tasks/tasks_controller.rb +3 -10
- data/app/lib/actions/middleware/load_setting_values.rb +35 -0
- data/app/lib/actions/middleware/watch_delegated_proxy_sub_tasks.rb +2 -6
- data/app/lib/actions/proxy_action.rb +1 -1
- data/app/models/foreman_tasks/task/dynflow_task.rb +8 -3
- data/lib/foreman_tasks/engine.rb +1 -0
- data/lib/foreman_tasks/tasks/export_tasks.rake +90 -46
- data/lib/foreman_tasks/version.rb +1 -1
- data/locale/action_names.rb +3 -2
- data/locale/en/foreman_tasks.po +60 -27
- data/locale/foreman_tasks.pot +180 -132
- data/locale/fr/foreman_tasks.po +61 -28
- data/locale/ja/foreman_tasks.po +61 -28
- data/locale/zh_CN/foreman_tasks.po +61 -28
- data/test/controllers/api/tasks_controller_test.rb +15 -0
- data/test/unit/actions/proxy_action_test.rb +3 -0
- data/webpack/ForemanTasks/Components/TaskActions/TaskActionHelpers.js +11 -4
- data/webpack/ForemanTasks/Components/TaskActions/TaskActionHelpers.test.js +27 -5
- data/webpack/ForemanTasks/Components/TasksTable/TasksTable.js +8 -0
- data/webpack/ForemanTasks/Components/TasksTable/TasksTableActions.js +6 -1
- data/webpack/ForemanTasks/Components/TasksTable/TasksTableHelpers.js +2 -1
- data/webpack/ForemanTasks/Components/TasksTable/TasksTablePage.js +22 -11
- data/webpack/ForemanTasks/Components/TasksTable/TasksTableReducer.js +10 -2
- data/webpack/ForemanTasks/Components/TasksTable/TasksTableSelectors.js +3 -0
- data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableHelpers.test.js +1 -1
- data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTablePage.test.js.snap +12 -2
- data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTableReducer.test.js.snap +3 -0
- data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/__snapshots__/selectionHeaderCellFormatter.test.js.snap +1 -0
- data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/selectionHeaderCellFormatter.test.js +1 -1
- data/webpack/ForemanTasks/Components/TasksTable/formatters/selectionHeaderCellFormatter.js +1 -0
- data/webpack/ForemanTasks/Components/TasksTable/index.js +2 -0
- metadata +4 -5
- data/app/services/foreman_tasks/dashboard_table_filter.rb +0 -56
- data/test/unit/dashboard_table_filter_test.rb +0 -77
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3152af7ac771946d9090d5a1b867c6843ff6657ab2434c4daba986c60c83579e
|
4
|
+
data.tar.gz: 4d3cd7b0d58af7f59a5d7745e1b75444dc43066089c60854344c49dc1d58ed43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 528a33eb7ef2128cdc476411c705762b3b63ba22d8a3ff3ca70755a42247c5a538494b1b248eee547a2a7ffa49821612f05f0f53e42ef026a70e107e064246f1
|
7
|
+
data.tar.gz: 85033e3dd3c84eb6aa8dd99e837ad024acd42639c1351f518883ef431b9b95c9ddb833f11e6708bda488113c1a33faf7959ac4a11bbeb4ea16e29a32c955e670
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module ForemanTasks
|
2
|
+
module FindTasksCommon
|
3
|
+
def search_query
|
4
|
+
[current_taxonomy_search, params[:search]].select(&:present?).join(' AND ')
|
5
|
+
end
|
6
|
+
|
7
|
+
def current_taxonomy_search
|
8
|
+
conditions = []
|
9
|
+
conditions << "organization_id = #{Organization.current.id}" if Organization.current
|
10
|
+
conditions << "location_id = #{Location.current.id}" if Location.current
|
11
|
+
conditions.empty? ? '' : "(#{conditions.join(' AND ')})"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module ForemanTasks
|
2
2
|
module Api
|
3
3
|
class TasksController < ::Api::V2::BaseController
|
4
|
+
include ForemanTasks::FindTasksCommon
|
4
5
|
include ::Foreman::Controller::SmartProxyAuth
|
5
6
|
add_smart_proxy_filters :callback, :features => 'Dynflow'
|
6
7
|
|
@@ -51,7 +52,7 @@ module ForemanTasks
|
|
51
52
|
In case :type = 'resource', what resource id we're searching the tasks for
|
52
53
|
DESC
|
53
54
|
param :action_types, [String], :desc => <<-DESC
|
54
|
-
Return just tasks of given action type, e.g. ["Actions::Katello::Repository::Synchronize"]
|
55
|
+
Return just tasks of given action type, e.g. `["Actions::Katello::Repository::Synchronize"]`
|
55
56
|
DESC
|
56
57
|
param :active_only, :bool
|
57
58
|
param :page, String
|
@@ -191,11 +192,11 @@ module ForemanTasks
|
|
191
192
|
params[:order] = "#{ordering_params[:sort_by]} #{ordering_params[:sort_order]}"
|
192
193
|
end
|
193
194
|
params[:order] ||= 'started_at DESC'
|
194
|
-
@tasks =
|
195
|
+
@tasks = resource_scope_for_index.order(params[:order].to_s)
|
195
196
|
end
|
196
197
|
|
197
198
|
def search_options
|
198
|
-
[
|
199
|
+
[search_query, {}]
|
199
200
|
end
|
200
201
|
|
201
202
|
def_param_group :callback_target do
|
@@ -2,6 +2,7 @@ module ForemanTasks
|
|
2
2
|
class TasksController < ::ApplicationController
|
3
3
|
include Foreman::Controller::AutoCompleteSearch
|
4
4
|
include Foreman::Controller::CsvResponder
|
5
|
+
include ForemanTasks::FindTasksCommon
|
5
6
|
|
6
7
|
def show
|
7
8
|
@task = resource_base.find(params[:id])
|
@@ -128,17 +129,9 @@ module ForemanTasks
|
|
128
129
|
def filter(scope, paginate: true)
|
129
130
|
search = current_taxonomy_search
|
130
131
|
search = [search, params[:search]].select(&:present?).join(' AND ')
|
131
|
-
scope =
|
132
|
-
scope = scope.
|
133
|
-
scope = scope.paginate(:page => params[:page], :per_page => params[:per_page]) if paginate
|
132
|
+
scope = scope.search_for(search, order: params[:order])
|
133
|
+
scope = scope.paginate(page: params[:page], per_page: params[:per_page]) if paginate
|
134
134
|
scope.distinct
|
135
135
|
end
|
136
|
-
|
137
|
-
def current_taxonomy_search
|
138
|
-
conditions = []
|
139
|
-
conditions << "organization_id = #{Organization.current.id}" if Organization.current
|
140
|
-
conditions << "location_id = #{Location.current.id}" if Location.current
|
141
|
-
conditions.empty? ? '' : "(#{conditions.join(' AND ')})"
|
142
|
-
end
|
143
136
|
end
|
144
137
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Actions
|
2
|
+
module Middleware
|
3
|
+
class LoadSettingValues < ::Dynflow::Middleware
|
4
|
+
# ::Actions::Middleware::LoadSettingValues
|
5
|
+
#
|
6
|
+
# A middleware to ensure we load current setting values
|
7
|
+
|
8
|
+
def delay(*args)
|
9
|
+
reload_setting_values
|
10
|
+
pass(*args)
|
11
|
+
end
|
12
|
+
|
13
|
+
def plan(*args)
|
14
|
+
reload_setting_values
|
15
|
+
pass(*args)
|
16
|
+
end
|
17
|
+
|
18
|
+
def run(*args)
|
19
|
+
reload_setting_values
|
20
|
+
pass(*args)
|
21
|
+
end
|
22
|
+
|
23
|
+
def finalize(*args)
|
24
|
+
reload_setting_values
|
25
|
+
pass(*args)
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def reload_setting_values
|
31
|
+
::Foreman.settings.load_values
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -20,9 +20,7 @@ module Actions
|
|
20
20
|
private
|
21
21
|
|
22
22
|
def set_clock
|
23
|
-
action.
|
24
|
-
POLL_INTERVAL,
|
25
|
-
CheckOnProxyActions
|
23
|
+
action.plan_event(CheckOnProxyActions, POLL_INTERVAL, optional: true)
|
26
24
|
end
|
27
25
|
|
28
26
|
def check_triggered
|
@@ -44,9 +42,7 @@ module Actions
|
|
44
42
|
|
45
43
|
def notify(event, tasks)
|
46
44
|
tasks.each do |task|
|
47
|
-
action.
|
48
|
-
task.step_id,
|
49
|
-
event
|
45
|
+
action.plan_event(event, execution_plan_id: task.execution_plan_id, step_id: task.step_id)
|
50
46
|
end
|
51
47
|
end
|
52
48
|
|
@@ -219,7 +219,7 @@ module Actions
|
|
219
219
|
|
220
220
|
def get_proxy_data(response)
|
221
221
|
response['actions'].detect { |action| action.fetch('input', {})['task_id'] == task.id }
|
222
|
-
.try(:fetch, 'output', {})
|
222
|
+
.try(:fetch, 'output', {}) || {}
|
223
223
|
end
|
224
224
|
|
225
225
|
def proxy_version(proxy)
|
@@ -140,12 +140,17 @@ module ForemanTasks
|
|
140
140
|
|
141
141
|
def main_action
|
142
142
|
return @main_action if defined?(@main_action)
|
143
|
+
|
144
|
+
@main_action = execution_plan && execution_plan.root_plan_step.try(:action, execution_plan)
|
143
145
|
if active_job?
|
144
146
|
job_data = active_job_data
|
145
|
-
|
146
|
-
|
147
|
-
|
147
|
+
begin
|
148
|
+
@main_action = active_job_action(job_data['job_class'], job_data['arguments'])
|
149
|
+
rescue => e
|
150
|
+
Foreman::Logging.exception("Failed to load ActiveJob for task #{id}", e, :logger => 'foreman-tasks')
|
151
|
+
end
|
148
152
|
end
|
153
|
+
@main_action
|
149
154
|
end
|
150
155
|
|
151
156
|
# The class for ActiveJob jobs in Dynflow, JobWrapper is not expected to
|
data/lib/foreman_tasks/engine.rb
CHANGED
@@ -114,6 +114,7 @@ module ForemanTasks
|
|
114
114
|
world.middleware.use Actions::Middleware::KeepCurrentUser, :before => ::Dynflow::Middleware::Common::Transaction
|
115
115
|
world.middleware.use Actions::Middleware::KeepCurrentTimezone
|
116
116
|
world.middleware.use Actions::Middleware::KeepCurrentRequestID
|
117
|
+
world.middleware.use ::Actions::Middleware::LoadSettingValues if Gem::Version.new(::SETTINGS[:version]) >= Gem::Version.new('2.5')
|
117
118
|
end
|
118
119
|
|
119
120
|
::ForemanTasks.dynflow.config.on_init do |world|
|
@@ -12,7 +12,7 @@ namespace :foreman_tasks do
|
|
12
12
|
|
13
13
|
* TASK_SEARCH : scoped search filter (example: 'label = "Actions::Foreman::Host::ImportFacts"')
|
14
14
|
* TASK_FILE : file to export to
|
15
|
-
* TASK_FORMAT : format to use for the export (either html or csv)
|
15
|
+
* TASK_FORMAT : format to use for the export (either html, html-dir or csv)
|
16
16
|
* TASK_DAYS : number of days to go back
|
17
17
|
|
18
18
|
If TASK_SEARCH is not defined, it defaults to all tasks in the past 7 days and
|
@@ -185,23 +185,27 @@ namespace :foreman_tasks do
|
|
185
185
|
end
|
186
186
|
|
187
187
|
class PageHelper
|
188
|
-
def self.pagify(template)
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
#{template}
|
202
|
-
<body>
|
203
|
-
</html>
|
188
|
+
def self.pagify(io, template = nil)
|
189
|
+
io.write <<~HTML
|
190
|
+
<html>
|
191
|
+
<head>
|
192
|
+
<title>Dynflow Console</title>
|
193
|
+
<script src="jquery.js"></script>
|
194
|
+
<link rel="stylesheet" type="text/css" href="bootstrap.css">
|
195
|
+
<link rel="stylesheet" type="text/css" href="application.css">
|
196
|
+
<script src="bootstrap.js"></script>
|
197
|
+
<script src="run_prettify.js"></script>
|
198
|
+
<script src="application.js"></script>
|
199
|
+
</head>
|
200
|
+
<body>
|
204
201
|
HTML
|
202
|
+
if block_given?
|
203
|
+
yield io
|
204
|
+
else
|
205
|
+
io.write template
|
206
|
+
end
|
207
|
+
ensure
|
208
|
+
io.write '</body></html>'
|
205
209
|
end
|
206
210
|
|
207
211
|
def self.copy_assets(tmp_dir)
|
@@ -216,13 +220,64 @@ namespace :foreman_tasks do
|
|
216
220
|
end
|
217
221
|
end
|
218
222
|
|
219
|
-
def self.
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
223
|
+
def self.generate_with_index(io)
|
224
|
+
io.write '<div><table class="table">'
|
225
|
+
yield io
|
226
|
+
ensure
|
227
|
+
io.write '</table></div>'
|
228
|
+
end
|
229
|
+
|
230
|
+
def self.generate_index_entry(io, task)
|
231
|
+
io << <<~HTML
|
232
|
+
<tr>
|
233
|
+
<td><a href=\"#{task.id}.html\">#{task.label}</a></td>
|
234
|
+
<td>#{task.started_at}</td>
|
235
|
+
<td>#{task.state}</td>
|
236
|
+
<td>#{task.result}</td>
|
237
|
+
</tr>
|
238
|
+
HTML
|
239
|
+
end
|
240
|
+
end
|
241
|
+
|
242
|
+
def csv_export(export_filename, tasks)
|
243
|
+
CSV.open(export_filename, 'wb') do |csv|
|
244
|
+
csv << %w[id state type label result parent_task_id started_at ended_at]
|
245
|
+
tasks.find_each do |task|
|
246
|
+
csv << [task.id, task.state, task.type, task.label, task.result,
|
247
|
+
task.parent_task_id, task.started_at, task.ended_at]
|
224
248
|
end
|
225
|
-
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
def html_export(workdir, tasks)
|
253
|
+
PageHelper.copy_assets(workdir)
|
254
|
+
|
255
|
+
renderer = TaskRender.new
|
256
|
+
total = tasks.count
|
257
|
+
index = File.open(File.join(workdir, 'index.html'), 'w')
|
258
|
+
|
259
|
+
File.open(File.join(workdir, 'index.html'), 'w') do |index|
|
260
|
+
PageHelper.pagify(index) do |io|
|
261
|
+
PageHelper.generate_with_index(io) do |index|
|
262
|
+
tasks.find_each.each_with_index do |task, count|
|
263
|
+
File.open(File.join(workdir, "#{task.id}.html"), 'w') { |file| PageHelper.pagify(file, renderer.render_task(task)) }
|
264
|
+
PageHelper.generate_index_entry(index, task)
|
265
|
+
puts "#{count + 1}/#{total}"
|
266
|
+
end
|
267
|
+
end
|
268
|
+
end
|
269
|
+
end
|
270
|
+
end
|
271
|
+
|
272
|
+
def generate_filename(format)
|
273
|
+
base = "/tmp/task-export-#{Time.now.to_i}"
|
274
|
+
case format
|
275
|
+
when 'html'
|
276
|
+
base + '.tar.gz'
|
277
|
+
when 'csv'
|
278
|
+
base + '.csv'
|
279
|
+
when 'html-dir'
|
280
|
+
base
|
226
281
|
end
|
227
282
|
end
|
228
283
|
|
@@ -239,36 +294,25 @@ namespace :foreman_tasks do
|
|
239
294
|
end
|
240
295
|
|
241
296
|
format = ENV['TASK_FORMAT'] || 'html'
|
242
|
-
export_filename = ENV['TASK_FILE'] ||
|
297
|
+
export_filename = ENV['TASK_FILE'] || generate_filename(format)
|
243
298
|
|
244
|
-
tasks = ForemanTasks::Task.search_for(filter)
|
299
|
+
tasks = ForemanTasks::Task.search_for(filter).order(:started_at => :desc)
|
245
300
|
|
246
301
|
puts _("Exporting all tasks matching filter #{filter}")
|
247
302
|
puts _("Gathering #{tasks.count} tasks.")
|
248
|
-
|
303
|
+
case format
|
304
|
+
when 'html'
|
249
305
|
Dir.mktmpdir('task-export') do |tmp_dir|
|
250
|
-
|
251
|
-
|
252
|
-
renderer = TaskRender.new
|
253
|
-
total = tasks.count
|
254
|
-
|
255
|
-
tasks.find_each.with_index do |task, count|
|
256
|
-
File.open(File.join(tmp_dir, "#{task.id}.html"), 'w') { |file| file.write(PageHelper.pagify(renderer.render_task(task))) }
|
257
|
-
puts "#{count + 1}/#{total}"
|
258
|
-
end
|
259
|
-
|
260
|
-
File.open(File.join(tmp_dir, 'index.html'), 'w') { |file| file.write(PageHelper.pagify(PageHelper.generate_index(tasks))) }
|
261
|
-
|
306
|
+
html_export(tmp_dir, tasks)
|
262
307
|
system("tar", "czf", export_filename, tmp_dir)
|
263
308
|
end
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
end
|
309
|
+
when 'html-dir'
|
310
|
+
FileUtils.mkdir_p(export_filename)
|
311
|
+
html_export(export_filename, tasks)
|
312
|
+
when 'csv'
|
313
|
+
csv_export(export_filename, tasks)
|
314
|
+
else
|
315
|
+
raise "Unkonwn export format '#{format}'"
|
272
316
|
end
|
273
317
|
|
274
318
|
puts "Created #{export_filename}"
|
data/locale/action_names.rb
CHANGED
data/locale/en/foreman_tasks.po
CHANGED
@@ -74,6 +74,9 @@ msgstr ""
|
|
74
74
|
msgid "All proxies with the required feature are unavailable at the moment"
|
75
75
|
msgstr ""
|
76
76
|
|
77
|
+
msgid "Allow proxy batch tasks"
|
78
|
+
msgstr ""
|
79
|
+
|
77
80
|
msgid "Allow triggering tasks on the smart proxy in batches"
|
78
81
|
msgstr ""
|
79
82
|
|
@@ -99,15 +102,15 @@ msgstr ""
|
|
99
102
|
msgid "Cancel Selected"
|
100
103
|
msgstr ""
|
101
104
|
|
102
|
-
msgid "Cancel all cancellable tasks"
|
103
|
-
msgstr ""
|
104
|
-
|
105
105
|
msgid "Cancel enforced: the task might be still running on the proxy"
|
106
106
|
msgstr ""
|
107
107
|
|
108
108
|
msgid "Cancel recurring logic"
|
109
109
|
msgstr ""
|
110
110
|
|
111
|
+
msgid "Cancel selected cancellable tasks"
|
112
|
+
msgstr ""
|
113
|
+
|
111
114
|
msgid "Cancel selected tasks"
|
112
115
|
msgstr ""
|
113
116
|
|
@@ -156,6 +159,9 @@ msgstr ""
|
|
156
159
|
msgid "Could not cancel step."
|
157
160
|
msgstr ""
|
158
161
|
|
162
|
+
msgid "Could not receive data: ${APIerror && APIerror.message}"
|
163
|
+
msgstr ""
|
164
|
+
|
159
165
|
msgid "Could not receive data: ${error && error.message}"
|
160
166
|
msgstr ""
|
161
167
|
|
@@ -207,6 +213,9 @@ msgstr ""
|
|
207
213
|
msgid "Enable"
|
208
214
|
msgstr ""
|
209
215
|
|
216
|
+
msgid "Enable dynflow console"
|
217
|
+
msgstr ""
|
218
|
+
|
210
219
|
msgid "Enable the dynflow console (/foreman_tasks/dynflow) for debugging"
|
211
220
|
msgstr ""
|
212
221
|
|
@@ -246,9 +255,6 @@ msgstr ""
|
|
246
255
|
msgid "Failed to initialize"
|
247
256
|
msgstr ""
|
248
257
|
|
249
|
-
msgid "Field to sort the results on"
|
250
|
-
msgstr ""
|
251
|
-
|
252
258
|
msgid "Finished"
|
253
259
|
msgstr ""
|
254
260
|
|
@@ -270,12 +276,6 @@ msgstr ""
|
|
270
276
|
msgid "Fri"
|
271
277
|
msgstr ""
|
272
278
|
|
273
|
-
msgid "Hash version of 'order' param"
|
274
|
-
msgstr ""
|
275
|
-
|
276
|
-
msgid "How to order the sorted results (e.g. ASC for ascending)"
|
277
|
-
msgstr ""
|
278
|
-
|
279
279
|
msgid "ID"
|
280
280
|
msgstr ""
|
281
281
|
|
@@ -381,9 +381,6 @@ msgstr ""
|
|
381
381
|
msgid "Number of attempts to start a task on the smart proxy before failing"
|
382
382
|
msgstr ""
|
383
383
|
|
384
|
-
msgid "Number of results per page to return"
|
385
|
-
msgstr ""
|
386
|
-
|
387
384
|
msgid "Number of seconds to wait for synchronous task to finish."
|
388
385
|
msgstr ""
|
389
386
|
|
@@ -397,13 +394,16 @@ msgstr ""
|
|
397
394
|
msgid "Operation"
|
398
395
|
msgstr ""
|
399
396
|
|
400
|
-
msgid "
|
397
|
+
msgid "Other includes all stopped tasks that are cancelled or pending"
|
401
398
|
msgstr ""
|
402
399
|
|
403
|
-
msgid "
|
400
|
+
msgid "Other:"
|
401
|
+
msgstr ""
|
402
|
+
|
403
|
+
msgid "Output"
|
404
404
|
msgstr ""
|
405
405
|
|
406
|
-
msgid "
|
406
|
+
msgid "Output:"
|
407
407
|
msgstr ""
|
408
408
|
|
409
409
|
msgid "Parent task"
|
@@ -427,9 +427,21 @@ msgstr ""
|
|
427
427
|
msgid "Polling multiplier which is used to multiply the default polling intervals. This can be used to prevent polling too frequently for long running tasks."
|
428
428
|
msgstr ""
|
429
429
|
|
430
|
+
msgid "Preupgrade job"
|
431
|
+
msgstr ""
|
432
|
+
|
433
|
+
msgid "Proxy action retry count"
|
434
|
+
msgstr ""
|
435
|
+
|
436
|
+
msgid "Proxy action retry interval"
|
437
|
+
msgstr ""
|
438
|
+
|
430
439
|
msgid "Proxy task gone missing from the smart proxy"
|
431
440
|
msgstr ""
|
432
441
|
|
442
|
+
msgid "Proxy tasks batch size"
|
443
|
+
msgstr ""
|
444
|
+
|
433
445
|
msgid "Raw"
|
434
446
|
msgstr ""
|
435
447
|
|
@@ -448,6 +460,12 @@ msgstr ""
|
|
448
460
|
msgid "Recurring logics"
|
449
461
|
msgstr ""
|
450
462
|
|
463
|
+
msgid "Refresh Data"
|
464
|
+
msgstr ""
|
465
|
+
|
466
|
+
msgid "Remote action:"
|
467
|
+
msgstr ""
|
468
|
+
|
451
469
|
msgid "Repeat N times"
|
452
470
|
msgstr ""
|
453
471
|
|
@@ -457,13 +475,13 @@ msgstr ""
|
|
457
475
|
msgid "Repeats"
|
458
476
|
msgstr ""
|
459
477
|
|
460
|
-
msgid "Require
|
478
|
+
msgid "Require auth for dynflow console"
|
461
479
|
msgstr ""
|
462
480
|
|
463
|
-
msgid "
|
481
|
+
msgid "Require user to be authenticated as user with admin rights when accessing dynflow console"
|
464
482
|
msgstr ""
|
465
483
|
|
466
|
-
msgid "Required lock
|
484
|
+
msgid "Required lock is already taken by other running tasks."
|
467
485
|
msgstr ""
|
468
486
|
|
469
487
|
msgid "Resource search_params requires resource_type and resource_id to be specified"
|
@@ -514,9 +532,6 @@ msgstr ""
|
|
514
532
|
msgid "Search query"
|
515
533
|
msgstr ""
|
516
534
|
|
517
|
-
msgid "Search string"
|
518
|
-
msgstr ""
|
519
|
-
|
520
535
|
msgid "See %{link} for more details on how to resolve the issue"
|
521
536
|
msgstr ""
|
522
537
|
|
@@ -535,10 +550,10 @@ msgstr ""
|
|
535
550
|
msgid "Set up recurring execution"
|
536
551
|
msgstr ""
|
537
552
|
|
538
|
-
msgid "
|
553
|
+
msgid "Setting is off"
|
539
554
|
msgstr ""
|
540
555
|
|
541
|
-
msgid "
|
556
|
+
msgid "Show recurring logic details"
|
542
557
|
msgstr ""
|
543
558
|
|
544
559
|
msgid "Start at"
|
@@ -559,7 +574,7 @@ msgstr ""
|
|
559
574
|
msgid "Step Canceled"
|
560
575
|
msgstr ""
|
561
576
|
|
562
|
-
msgid "Stop
|
577
|
+
msgid "Stop selected stoppable tasks"
|
563
578
|
msgstr ""
|
564
579
|
|
565
580
|
msgid "Stop specific tasks by ID"
|
@@ -580,6 +595,9 @@ msgstr ""
|
|
580
595
|
msgid "Sun"
|
581
596
|
msgstr ""
|
582
597
|
|
598
|
+
msgid "Sync task timeout"
|
599
|
+
msgstr ""
|
600
|
+
|
583
601
|
msgid "Task"
|
584
602
|
msgstr ""
|
585
603
|
|
@@ -610,12 +628,21 @@ msgstr ""
|
|
610
628
|
msgid "Tasks"
|
611
629
|
msgstr ""
|
612
630
|
|
631
|
+
msgid "Tasks troubleshooting URL"
|
632
|
+
msgstr ""
|
633
|
+
|
613
634
|
msgid "The ID of the step inside the execution plan to send the event to"
|
614
635
|
msgstr ""
|
615
636
|
|
616
637
|
msgid "The recommended approach is to investigate the error messages below and in 'errors' tab, address the primary cause of the issue and resume the task."
|
617
638
|
msgstr ""
|
618
639
|
|
640
|
+
msgid "The recurring logic was disabled."
|
641
|
+
msgstr ""
|
642
|
+
|
643
|
+
msgid "The recurring logic was enabled."
|
644
|
+
msgstr ""
|
645
|
+
|
619
646
|
msgid "The smart proxy task %s failed."
|
620
647
|
msgstr ""
|
621
648
|
|
@@ -690,6 +717,9 @@ msgstr ""
|
|
690
717
|
msgid "Yes"
|
691
718
|
msgstr ""
|
692
719
|
|
720
|
+
msgid "You do not have permission"
|
721
|
+
msgstr ""
|
722
|
+
|
693
723
|
msgid "activation key"
|
694
724
|
msgstr ""
|
695
725
|
|
@@ -743,6 +773,9 @@ msgstr ""
|
|
743
773
|
msgid "organization"
|
744
774
|
msgstr ""
|
745
775
|
|
776
|
+
msgid "other"
|
777
|
+
msgstr ""
|
778
|
+
|
746
779
|
msgid "paused"
|
747
780
|
msgstr ""
|
748
781
|
|