foreman-tasks 5.3.0 → 6.0.0
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/lib/actions/helpers/lifecycle_logging.rb +1 -1
- data/app/lib/actions/middleware/rails_executor_wrap.rb +2 -2
- data/app/lib/actions/proxy_action.rb +1 -1
- data/app/models/foreman_tasks/lock.rb +1 -1
- data/extra/foreman-tasks-cleanup.sh +19 -2
- data/lib/foreman_tasks/dynflow/configuration.rb +1 -1
- data/lib/foreman_tasks/dynflow.rb +1 -1
- data/lib/foreman_tasks/engine.rb +1 -1
- data/lib/foreman_tasks/tasks/export_tasks.rake +1 -1
- data/lib/foreman_tasks/version.rb +1 -1
- data/test/controllers/api/tasks_controller_test.rb +1 -2
- data/test/support/dummy_proxy_action.rb +1 -1
- data/test/unit/actions/proxy_action_test.rb +19 -13
- data/webpack/ForemanTasks/Components/TasksTable/TasksTable.js +2 -28
- data/webpack/ForemanTasks/Components/TasksTable/TasksTablePage.js +5 -9
- data/webpack/ForemanTasks/Components/TasksTable/TasksTableReducer.js +1 -5
- data/webpack/ForemanTasks/Components/TasksTable/TasksTableSelectors.js +2 -2
- data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTable.fixtures.js +1 -4
- data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/SubTasksPage.test.js.snap +1 -6
- data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksIndexPage.test.js.snap +1 -6
- data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTable.test.js.snap +2 -22
- data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTablePage.test.js.snap +2 -12
- data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTableReducer.test.js.snap +1 -4
- data/webpack/ForemanTasks/Components/TasksTable/index.js +2 -2
- data/webpack/__mocks__/foremanReact/components/Pagination/index.js +2 -0
- metadata +3 -3
- data/webpack/__mocks__/foremanReact/components/Pagination/PaginationWrapper.js +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a31c8423a352c5eeb6ff93b23ce8ed3d868ee4bdb16d456233f2c3df475342cd
|
4
|
+
data.tar.gz: c181fdc4c13d8c3cfb7e8d8469c9188a8972b97ca223e68cb50d9a901e23d552
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7f2b880bb70b4fc2781ab9c5bff2c7bcd0434bc067669fae601f1815f6720e7dd771a170cdde8a4922565f1bd87c61d5b3dc1c0b10192bd895508d123aa84da
|
7
|
+
data.tar.gz: a4652958efa52fec83b6c0a8093914b1d22ad574bc4763cb66c3bc41e82bd67e5b1448be0fd79ae3ce64225cb44d6c25faeb324cd10a846dfbe77abee5d55b02
|
@@ -7,7 +7,7 @@ module Actions
|
|
7
7
|
|
8
8
|
def log_task_state_change(execution_plan)
|
9
9
|
return unless root_action?
|
10
|
-
logger = Rails.application.dynflow.world.action_logger
|
10
|
+
logger = ::Rails.application.dynflow.world.action_logger
|
11
11
|
task_id = ForemanTasks::Task::DynflowTask.where(external_id: execution_plan.id).pluck(:id).first
|
12
12
|
|
13
13
|
task_id_parts = []
|
@@ -10,13 +10,13 @@ module Actions
|
|
10
10
|
# for more details.
|
11
11
|
class RailsExecutorWrap < Dynflow::Middleware
|
12
12
|
def run(*args)
|
13
|
-
Rails.application.executor.wrap do
|
13
|
+
::Rails.application.executor.wrap do
|
14
14
|
pass(*args)
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
18
|
def finalize
|
19
|
-
Rails.application.executor.wrap do
|
19
|
+
::Rails.application.executor.wrap do
|
20
20
|
pass
|
21
21
|
end
|
22
22
|
end
|
@@ -67,7 +67,7 @@ module Actions
|
|
67
67
|
def trigger_proxy_task
|
68
68
|
suspend do |_suspended_action|
|
69
69
|
remote_task = prepare_remote_task
|
70
|
-
remote_task.
|
70
|
+
ForemanTasks::RemoteTask.batch_trigger(remote_task.operation, [remote_task])
|
71
71
|
output[:proxy_task_id] = remote_task.remote_task_id
|
72
72
|
end
|
73
73
|
end
|
@@ -21,6 +21,21 @@ function build_rake() {
|
|
21
21
|
echo
|
22
22
|
}
|
23
23
|
|
24
|
+
function incorrect_usage() {
|
25
|
+
echo "$1" >&2
|
26
|
+
echo
|
27
|
+
usage
|
28
|
+
|
29
|
+
exit 1
|
30
|
+
}
|
31
|
+
|
32
|
+
function validate_options!() {
|
33
|
+
if [ -z "$TASK_SEARCH" ]; then
|
34
|
+
[ -n "$AFTER" ] && incorrect_usage "Error: -a|--after cannot be used without -s|--search"
|
35
|
+
[ -n "$STATES" ] && incorrect_usage "Error: -S|--states cannot be used without -s|--search"
|
36
|
+
fi
|
37
|
+
}
|
38
|
+
|
24
39
|
function usage() {
|
25
40
|
cat << EOF
|
26
41
|
Usage: $PROGNAME [script_options...] [options...]
|
@@ -43,8 +58,8 @@ EOF
|
|
43
58
|
echo Cleanup options:
|
44
59
|
cat <<EOF | column -s\& -t
|
45
60
|
-B|--batch-size BATCH_SIZE & process tasks in batches of BATCH_SIZE, 1000 by default
|
46
|
-
-S|--states STATES & operate on tasks in STATES, comma separated list of states, set to all to operate on tasks in any state
|
47
|
-
-a|--after AGE & operate on tasks older than AGE. Expected format is a number followed by the time unit (s,h,m,y), such as '10d' for 10 days
|
61
|
+
-S|--states STATES & operate on tasks in STATES, comma separated list of states, set to all to operate on tasks in any state. Has to be used together with -s|--search
|
62
|
+
-a|--after AGE & operate on tasks older than AGE. Expected format is a number followed by the time unit (s,h,m,y), such as '10d' for 10 days. Has to be used together with -s|--search
|
48
63
|
-b|--backup & backup deleted tasks
|
49
64
|
-n|--noop & do a dry run, print what would be done
|
50
65
|
-s|--search QUERY & use QUERY in scoped search format to match tasks to delete
|
@@ -119,6 +134,8 @@ while true; do
|
|
119
134
|
shift
|
120
135
|
done
|
121
136
|
|
137
|
+
validate_options!
|
138
|
+
|
122
139
|
if [ "$EXECUTE" -eq 1 ]; then
|
123
140
|
build_rake | sh
|
124
141
|
else
|
@@ -17,7 +17,7 @@ module ForemanTasks
|
|
17
17
|
set(:custom_navigation) do
|
18
18
|
{ _('Back to tasks') => "/#{ForemanTasks::TasksController.controller_path}" }
|
19
19
|
end
|
20
|
-
set(:world) { Rails.application.dynflow.world }
|
20
|
+
set(:world) { ::Rails.application.dynflow.world }
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
data/lib/foreman_tasks/engine.rb
CHANGED
@@ -25,7 +25,7 @@ module ForemanTasks
|
|
25
25
|
|
26
26
|
initializer 'foreman_tasks.register_plugin', :before => :finisher_hook do |_app|
|
27
27
|
Foreman::Plugin.register :"foreman-tasks" do
|
28
|
-
requires_foreman '>= 3.
|
28
|
+
requires_foreman '>= 3.2.0'
|
29
29
|
divider :top_menu, :parent => :monitor_menu, :last => true, :caption => N_('Foreman Tasks')
|
30
30
|
menu :top_menu, :tasks,
|
31
31
|
:url_hash => { :controller => 'foreman_tasks/tasks', :action => :index },
|
@@ -300,7 +300,7 @@ namespace :foreman_tasks do
|
|
300
300
|
end
|
301
301
|
end
|
302
302
|
|
303
|
-
SKIP_ERRORS = ['true', '1', 'y', 'yes'].include? ENV['SKIP_FAILED'].downcase
|
303
|
+
SKIP_ERRORS = ['true', '1', 'y', 'yes'].include? (ENV['SKIP_FAILED'] || '').downcase
|
304
304
|
|
305
305
|
filter = if ENV['TASK_SEARCH'].nil? && ENV['TASK_DAYS'].nil?
|
306
306
|
"started_at > \"#{7.days.ago.to_s(:db)}\" || " \
|
@@ -192,14 +192,13 @@ module ForemanTasks
|
|
192
192
|
_(task.state).must_equal 'running'
|
193
193
|
_(task.result).must_equal 'pending'
|
194
194
|
|
195
|
-
callback = Support::DummyProxyAction.proxy.log[:trigger_task].first[1][:action_input][:callback]
|
195
|
+
callback = Support::DummyProxyAction.proxy.log[:trigger_task].first[1].first[1][:action_input][:callback]
|
196
196
|
post :callback, params: { 'callback' => callback, 'data' => { 'result' => 'success' } }
|
197
197
|
triggered.finished.wait(5)
|
198
198
|
|
199
199
|
task.reload
|
200
200
|
_(task.state).must_equal 'stopped'
|
201
201
|
_(task.result).must_equal 'success'
|
202
|
-
_(task.main_action.output['proxy_task_id']).must_equal Support::DummyProxyAction.proxy.uuid
|
203
202
|
_(task.main_action.output['proxy_output']).must_equal('result' => 'success')
|
204
203
|
end
|
205
204
|
end
|
@@ -40,7 +40,7 @@ module Support
|
|
40
40
|
def launch_tasks(operation, args = {})
|
41
41
|
@log[:trigger_task] << [operation, args]
|
42
42
|
@task_triggered.fulfill(true)
|
43
|
-
{ 'task_id' => @uuid, 'result' => 'success' }
|
43
|
+
{ 'task_id' => @uuid, 'result' => 'success', 'parent' => { 'task_id' => @uuid } }
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'foreman_tasks_test_helper'
|
2
|
+
require 'ostruct'
|
2
3
|
|
3
4
|
module ForemanTasks
|
4
5
|
class ProxyActionTest < ActiveSupport::TestCase
|
@@ -22,24 +23,29 @@ module ForemanTasks
|
|
22
23
|
'foo' => 'bar',
|
23
24
|
'secrets' => secrets,
|
24
25
|
'use_batch_triggering' => batch_triggering)
|
26
|
+
RemoteTask.any_instance.stubs(:action).returns(@action)
|
27
|
+
RemoteTask.any_instance.stubs(:task).returns(OpenStruct.new(:id => Support::DummyProxyAction.proxy.uuid))
|
28
|
+
@run_step_id = @action.run_step_id
|
29
|
+
|
25
30
|
@action = run_action(@action)
|
26
31
|
end
|
27
32
|
|
28
33
|
describe 'first run' do
|
29
34
|
it 'triggers the corresponding action on the proxy' do
|
30
35
|
proxy_call = Support::DummyProxyAction.proxy.log[:trigger_task].first
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
36
|
+
action_input =
|
37
|
+
{ :action_class => 'Proxy::DummyAction',
|
38
|
+
:action_input =>
|
39
|
+
{ 'foo' => 'bar',
|
40
|
+
'secrets' => secrets,
|
41
|
+
'connection_options' =>
|
42
|
+
{ 'retry_interval' => 15, 'retry_count' => 4,
|
43
|
+
'proxy_batch_triggering' => batch_triggering },
|
44
|
+
'use_batch_triggering' => batch_triggering,
|
45
|
+
'proxy_url' => 'proxy.example.com',
|
46
|
+
'proxy_action_name' => 'Proxy::DummyAction',
|
47
|
+
'callback' => { 'task_id' => Support::DummyProxyAction.proxy.uuid, 'step_id' => @run_step_id } } }
|
48
|
+
expected_call = ['support', { @action.execution_plan_id => action_input }]
|
43
49
|
_(proxy_call).must_equal(expected_call)
|
44
50
|
end
|
45
51
|
|
@@ -73,7 +79,7 @@ module ForemanTasks
|
|
73
79
|
describe 'cancel' do
|
74
80
|
it 'sends the cancel event to the proxy when the cancel event is sent for the first time' do
|
75
81
|
action = run_action(@action, ::Dynflow::Action::Cancellable::Cancel)
|
76
|
-
_(Support::DummyProxyAction.proxy.log[:cancel_task].first).must_equal [
|
82
|
+
_(Support::DummyProxyAction.proxy.log[:cancel_task].first).must_equal [action.execution_plan_id]
|
77
83
|
_(action.state).must_equal :suspended
|
78
84
|
end
|
79
85
|
|
@@ -4,7 +4,7 @@ import { Table } from 'foremanReact/components/common/table';
|
|
4
4
|
import { STATUS } from 'foremanReact/constants';
|
5
5
|
import MessageBox from 'foremanReact/components/common/MessageBox';
|
6
6
|
import { translate as __ } from 'foremanReact/common/I18n';
|
7
|
-
import Pagination from 'foremanReact/components/Pagination
|
7
|
+
import Pagination from 'foremanReact/components/Pagination';
|
8
8
|
import { getURIQuery } from 'foremanReact/common/helpers';
|
9
9
|
import createTasksTableSchema from './TasksTableSchema';
|
10
10
|
import { updateURlQuery } from './TasksTableHelpers';
|
@@ -18,7 +18,6 @@ const TasksTable = ({
|
|
18
18
|
results,
|
19
19
|
history,
|
20
20
|
itemCount,
|
21
|
-
pagination,
|
22
21
|
selectedRows,
|
23
22
|
selectPage,
|
24
23
|
unselectAllRows,
|
@@ -82,16 +81,6 @@ const TasksTable = ({
|
|
82
81
|
return <span>{__('No Tasks')}</span>;
|
83
82
|
}
|
84
83
|
|
85
|
-
const changeTablePage = ({ page, perPage }) => {
|
86
|
-
updateURlQuery(
|
87
|
-
{
|
88
|
-
page,
|
89
|
-
per_page: perPage,
|
90
|
-
},
|
91
|
-
history
|
92
|
-
);
|
93
|
-
};
|
94
|
-
|
95
84
|
const setSortHistory = (by, order) => {
|
96
85
|
updateURlQuery({ sort_by: by, sort_order: order }, history);
|
97
86
|
};
|
@@ -133,14 +122,7 @@ const TasksTable = ({
|
|
133
122
|
)}
|
134
123
|
rows={results}
|
135
124
|
/>
|
136
|
-
<Pagination
|
137
|
-
className="tasks-pagination"
|
138
|
-
viewType="table"
|
139
|
-
itemCount={itemCount}
|
140
|
-
pagination={pagination}
|
141
|
-
onChange={changeTablePage}
|
142
|
-
dropdownButtonId="tasks-table-dropdown"
|
143
|
-
/>
|
125
|
+
<Pagination itemCount={itemCount} />
|
144
126
|
</div>
|
145
127
|
);
|
146
128
|
};
|
@@ -151,10 +133,6 @@ TasksTable.propTypes = {
|
|
151
133
|
status: PropTypes.oneOf(Object.keys(STATUS)),
|
152
134
|
error: PropTypes.instanceOf(Error),
|
153
135
|
itemCount: PropTypes.number.isRequired,
|
154
|
-
pagination: PropTypes.shape({
|
155
|
-
page: PropTypes.number,
|
156
|
-
perPage: PropTypes.number,
|
157
|
-
}),
|
158
136
|
history: PropTypes.object.isRequired,
|
159
137
|
openClickedModal: PropTypes.func.isRequired,
|
160
138
|
selectedRows: PropTypes.array,
|
@@ -172,10 +150,6 @@ TasksTable.propTypes = {
|
|
172
150
|
TasksTable.defaultProps = {
|
173
151
|
status: STATUS.PENDING,
|
174
152
|
error: null,
|
175
|
-
pagination: {
|
176
|
-
page: 1,
|
177
|
-
perPage: 20,
|
178
|
-
},
|
179
153
|
selectedRows: [],
|
180
154
|
allRowsSelected: false,
|
181
155
|
permissions: {
|
@@ -99,10 +99,10 @@ const TasksTablePage = ({
|
|
99
99
|
<React.Fragment>
|
100
100
|
{props.permissions.edit &&
|
101
101
|
showSelectAll &&
|
102
|
-
props.itemCount >= props.
|
102
|
+
props.itemCount >= props.perPage && (
|
103
103
|
<SelectAllAlert
|
104
104
|
itemCount={props.itemCount}
|
105
|
-
perPage={props.
|
105
|
+
perPage={props.perPage}
|
106
106
|
selectAllRows={selectAllRows}
|
107
107
|
unselectAllRows={props.unselectAllRows}
|
108
108
|
allRowsSelected={props.allRowsSelected}
|
@@ -118,9 +118,8 @@ const TasksTablePage = ({
|
|
118
118
|
TasksTablePage.propTypes = {
|
119
119
|
allRowsSelected: PropTypes.bool,
|
120
120
|
itemCount: PropTypes.number.isRequired,
|
121
|
-
|
122
|
-
|
123
|
-
}),
|
121
|
+
perPage: PropTypes.number,
|
122
|
+
|
124
123
|
selectAllRows: PropTypes.func.isRequired,
|
125
124
|
results: PropTypes.array.isRequired,
|
126
125
|
getTableItems: PropTypes.func.isRequired,
|
@@ -142,10 +141,7 @@ TasksTablePage.propTypes = {
|
|
142
141
|
};
|
143
142
|
|
144
143
|
TasksTablePage.defaultProps = {
|
145
|
-
|
146
|
-
page: 1,
|
147
|
-
perPage: 20,
|
148
|
-
},
|
144
|
+
perPage: 20,
|
149
145
|
allRowsSelected: false,
|
150
146
|
actionName: '',
|
151
147
|
status: STATUS.PENDING,
|
@@ -21,7 +21,6 @@ export const TasksTableQueryReducer = (state = initialState, action) => {
|
|
21
21
|
const { type, payload, response } = action;
|
22
22
|
const {
|
23
23
|
subtotal,
|
24
|
-
page,
|
25
24
|
per_page: perPageString,
|
26
25
|
action_name: actionName,
|
27
26
|
can_edit: canEdit,
|
@@ -34,10 +33,7 @@ export const TasksTableQueryReducer = (state = initialState, action) => {
|
|
34
33
|
return Immutable.merge(state, {
|
35
34
|
itemCount: subtotal,
|
36
35
|
actionName,
|
37
|
-
|
38
|
-
page: Number(page),
|
39
|
-
perPage: Number(perPageString),
|
40
|
-
},
|
36
|
+
perPage: Number(perPageString),
|
41
37
|
selectedRows: [],
|
42
38
|
permissions: {
|
43
39
|
edit: canEdit,
|
@@ -12,8 +12,8 @@ export const selectTasksTableContent = state =>
|
|
12
12
|
export const selectTasksTableQuery = state =>
|
13
13
|
selectTasksTable(state).tasksTableQuery || {};
|
14
14
|
|
15
|
-
export const
|
16
|
-
selectTasksTableQuery(state).
|
15
|
+
export const selectPerPage = state =>
|
16
|
+
selectTasksTableQuery(state).perPage || 20;
|
17
17
|
|
18
18
|
export const selectItemCount = state =>
|
19
19
|
selectTasksTableQuery(state).itemCount || 0;
|
data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/SubTasksPage.test.js.snap
CHANGED
@@ -23,13 +23,8 @@ exports[`SubTasksPage rendering render with minimal props 1`] = `
|
|
23
23
|
openClickedModal={[MockFunction]}
|
24
24
|
openModal={[MockFunction]}
|
25
25
|
openModalAction={[MockFunction]}
|
26
|
-
pagination={
|
27
|
-
Object {
|
28
|
-
"page": 1,
|
29
|
-
"perPage": 10,
|
30
|
-
}
|
31
|
-
}
|
32
26
|
parentTaskID="some-id"
|
27
|
+
perPage={10}
|
33
28
|
reloadPage={[MockFunction]}
|
34
29
|
results={
|
35
30
|
Array [
|
data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksIndexPage.test.js.snap
CHANGED
@@ -15,12 +15,7 @@ exports[`TasksIndexPage rendering render with minimal props 1`] = `
|
|
15
15
|
openClickedModal={[MockFunction]}
|
16
16
|
openModal={[MockFunction]}
|
17
17
|
openModalAction={[MockFunction]}
|
18
|
-
|
19
|
-
Object {
|
20
|
-
"page": 1,
|
21
|
-
"perPage": 10,
|
22
|
-
}
|
23
|
-
}
|
18
|
+
perPage={10}
|
24
19
|
reloadPage={[MockFunction]}
|
25
20
|
results={
|
26
21
|
Array [
|
data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTable.test.js.snap
CHANGED
@@ -20,18 +20,8 @@ exports[`TasksTable rendering render with loading Props 1`] = `
|
|
20
20
|
]
|
21
21
|
}
|
22
22
|
/>
|
23
|
-
<
|
24
|
-
className="tasks-pagination"
|
25
|
-
dropdownButtonId="tasks-table-dropdown"
|
23
|
+
<Pagination
|
26
24
|
itemCount={2}
|
27
|
-
onChange={[Function]}
|
28
|
-
pagination={
|
29
|
-
Object {
|
30
|
-
"page": 1,
|
31
|
-
"perPage": 10,
|
32
|
-
}
|
33
|
-
}
|
34
|
-
viewType="table"
|
35
25
|
/>
|
36
26
|
</div>
|
37
27
|
`;
|
@@ -49,18 +39,8 @@ exports[`TasksTable rendering render with minimal Props 1`] = `
|
|
49
39
|
]
|
50
40
|
}
|
51
41
|
/>
|
52
|
-
<
|
53
|
-
className="tasks-pagination"
|
54
|
-
dropdownButtonId="tasks-table-dropdown"
|
42
|
+
<Pagination
|
55
43
|
itemCount={2}
|
56
|
-
onChange={[Function]}
|
57
|
-
pagination={
|
58
|
-
Object {
|
59
|
-
"page": 1,
|
60
|
-
"perPage": 10,
|
61
|
-
}
|
62
|
-
}
|
63
|
-
viewType="table"
|
64
44
|
/>
|
65
45
|
</div>
|
66
46
|
`;
|
data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTablePage.test.js.snap
CHANGED
@@ -119,13 +119,8 @@ exports[`TasksTablePage rendering render with Breadcrubs and edit permissions 1`
|
|
119
119
|
itemCount={2}
|
120
120
|
openClickedModal={[MockFunction]}
|
121
121
|
openModal={[Function]}
|
122
|
-
pagination={
|
123
|
-
Object {
|
124
|
-
"page": 1,
|
125
|
-
"perPage": 10,
|
126
|
-
}
|
127
|
-
}
|
128
122
|
parentTaskID={null}
|
123
|
+
perPage={10}
|
129
124
|
permissions={
|
130
125
|
Object {
|
131
126
|
"edit": false,
|
@@ -259,13 +254,8 @@ exports[`TasksTablePage rendering render with minimal props 1`] = `
|
|
259
254
|
itemCount={2}
|
260
255
|
openClickedModal={[MockFunction]}
|
261
256
|
openModal={[Function]}
|
262
|
-
pagination={
|
263
|
-
Object {
|
264
|
-
"page": 1,
|
265
|
-
"perPage": 10,
|
266
|
-
}
|
267
|
-
}
|
268
257
|
parentTaskID={null}
|
258
|
+
perPage={10}
|
269
259
|
permissions={
|
270
260
|
Object {
|
271
261
|
"edit": false,
|
@@ -8,7 +8,7 @@ import {
|
|
8
8
|
selectStatus,
|
9
9
|
selectError,
|
10
10
|
selectResults,
|
11
|
-
|
11
|
+
selectPerPage,
|
12
12
|
selectItemCount,
|
13
13
|
selectSort,
|
14
14
|
selectActionName,
|
@@ -24,7 +24,7 @@ const mapStateToProps = state => ({
|
|
24
24
|
error: selectError(state),
|
25
25
|
sort: selectSort(state),
|
26
26
|
results: selectResults(state),
|
27
|
-
|
27
|
+
perPage: selectPerPage(state),
|
28
28
|
itemCount: selectItemCount(state),
|
29
29
|
actionName: selectActionName(state),
|
30
30
|
selectedRows: selectSelectedRows(state),
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman-tasks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Nečas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dynflow
|
@@ -572,7 +572,7 @@ files:
|
|
572
572
|
- webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalHooks.js
|
573
573
|
- webpack/__mocks__/foremanReact/components/ForemanModal/index.js
|
574
574
|
- webpack/__mocks__/foremanReact/components/Layout/LayoutActions.js
|
575
|
-
- webpack/__mocks__/foremanReact/components/Pagination/
|
575
|
+
- webpack/__mocks__/foremanReact/components/Pagination/index.js
|
576
576
|
- webpack/__mocks__/foremanReact/components/ToastsList/index.js
|
577
577
|
- webpack/__mocks__/foremanReact/components/common/ActionButtons/ActionButtons.js
|
578
578
|
- webpack/__mocks__/foremanReact/components/common/MessageBox.js
|