foreman_remote_execution 7.2.0 → 7.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b4f9d5aa836e3804a0b602bca132a51f4d3032b1276360f321867c135f9793c3
4
- data.tar.gz: 7a6f9b518f336bbe91882e6c431a465b4aa80c3a262dba9e0789fecf1c9edf51
3
+ metadata.gz: 893050d86f8ab746da3173f25cc9a062454bf9262316f0a6fbb5f89a6282c15f
4
+ data.tar.gz: 02e623b7202ec926f0d744cbfadbbe5f86a7950cd3665c91a3b7ec74a2b02cd2
5
5
  SHA512:
6
- metadata.gz: 14cf218a2c1267baedcd0980adbe51207e9beebbe8c262e2506167a5a095fb5c14447bf58147efdb5eaaf3f56120d4463572ad1d01d981f93c33f37050b0115e
7
- data.tar.gz: f2b7c73889c483a6f134c213c65df5ba21eddcc61b2b578b5f070a98e7ff9a9a0d269c1ad6dbc341285021189e02b973b0b77e90258537b8995adddd901bc5da
6
+ metadata.gz: c488b0d6edc98ce77e66edefc2c0f298c323bfd0aa6f0d46a3dbbc4b4642bbe9ac8f2112c237460095f47c5494d5ad7112482475fc886d596e9698fe0cac128f
7
+ data.tar.gz: eb73a3df7acbfa047699d349fcb03393850b5ddded2ed31b3cd30e38b15d3a516e608a17e33f29237271e012c9de69bb7929801de4f8605d8a4b3b59590b73e8
@@ -62,14 +62,16 @@ class JobInvocation < ApplicationRecord
62
62
 
63
63
  has_many :targeted_hosts, :through => :targeting, :source => :hosts
64
64
  scoped_search :on => 'targeted_host_id', :rename => 'targeted_host_id', :operators => ['= '],
65
- :complete_value => false, :only_explicit => true, :ext_method => :search_by_targeted_host
65
+ :complete_value => false, :only_explicit => true, :ext_method => :search_by_targeted_host,
66
+ :validator => ScopedSearch::Validators::INTEGER
66
67
 
67
68
  scoped_search :on => 'pattern_template_name', :rename => 'pattern_template_name', :operators => ['= '],
68
69
  :complete_value => false, :only_explicit => true, :ext_method => :search_by_pattern_template
69
70
 
70
71
  scoped_search :relation => :recurring_logic, :on => 'purpose', :rename => 'recurring_logic.purpose'
71
72
 
72
- scoped_search :relation => :recurring_logic, :on => 'id', :rename => 'recurring_logic.id'
73
+ scoped_search :relation => :recurring_logic, :on => 'id', :rename => 'recurring_logic.id',
74
+ :validator => ScopedSearch::Validators::INTEGER
73
75
 
74
76
  scoped_search :relation => :recurring_logic, :on => 'id', :rename => 'recurring',
75
77
  :ext_method => :search_by_recurring_logic, :only_explicit => true,
@@ -1,3 +1,3 @@
1
1
  module ForemanRemoteExecution
2
- VERSION = '7.2.0'.freeze
2
+ VERSION = '7.2.1'.freeze
3
3
  end
@@ -14,6 +14,7 @@ const HostKebabItems = () => {
14
14
  if (!consoleUrl) return null;
15
15
  return (
16
16
  <DropdownItem
17
+ ouiaId="web-console-dropdown-item"
17
18
  icon={<CodeIcon />}
18
19
  href={consoleUrl}
19
20
  target="_blank"
@@ -27,6 +27,7 @@ const RecentJobsCard = ({ hostDetails: { name, id } }) => {
27
27
  <DropdownItem
28
28
  href={foremanUrl(`${JOB_BASE_URL}${name}`)}
29
29
  key="link-to-all"
30
+ ouiaId="link-to-all-dropdown-item"
30
31
  >
31
32
  {__('View all jobs')}
32
33
  </DropdownItem>,
@@ -35,24 +36,28 @@ const RecentJobsCard = ({ hostDetails: { name, id } }) => {
35
36
  `${JOB_BASE_URL}${name}+and+status+%3D+failed+or+status%3D+succeeded`
36
37
  )}
37
38
  key="link-to-finished"
39
+ ouiaId="link-to-finished-dropdown-item"
38
40
  >
39
41
  {__('View finished jobs')}
40
42
  </DropdownItem>,
41
43
  <DropdownItem
42
44
  href={foremanUrl(`${JOB_BASE_URL}${name}+and+status+%3D+running`)}
43
45
  key="link-to-running"
46
+ ouiaId="link-to-running-dropdown-item"
44
47
  >
45
48
  {__('View running jobs')}
46
49
  </DropdownItem>,
47
50
  <DropdownItem
48
51
  href={foremanUrl(`${JOB_BASE_URL}${name}+and+status+%3D+queued`)}
49
52
  key="link-to-scheduled"
53
+ ouiaId="link-to-scheduled-dropdown-item"
50
54
  >
51
55
  {__('View scheduled jobs')}
52
56
  </DropdownItem>,
53
57
  ]}
54
58
  >
55
59
  <Tabs
60
+ ouiaId="tabs"
56
61
  mountOnEnter
57
62
  unmountOnExit
58
63
  activeKey={activeTab}
@@ -1,15 +1,7 @@
1
1
  import PropTypes from 'prop-types';
2
2
  import React from 'react';
3
- import {
4
- DataList,
5
- DataListItem,
6
- DataListItemRow,
7
- DataListItemCells,
8
- DataListCell,
9
- DataListWrapModifier,
10
- Text,
11
- Bullseye,
12
- } from '@patternfly/react-core';
3
+ import { Text, Bullseye } from '@patternfly/react-core';
4
+ import { TableComposable, Tr, Tbody, Td } from '@patternfly/react-table';
13
5
  import { STATUS } from 'foremanReact/constants';
14
6
 
15
7
  import RelativeDateTime from 'foremanReact/components/common/dates/RelativeDateTime';
@@ -33,55 +25,55 @@ const RecentJobsTable = ({ status, hostId }) => {
33
25
  } = useAPI('get', jobsUrl, RECENT_JOBS_KEY);
34
26
 
35
27
  return (
36
- <DataList aria-label="recent-jobs-table" isCompact>
37
- <SkeletonLoader
38
- skeletonProps={{ count: 3 }}
39
- status={responseStatus || STATUS.PENDING}
40
- emptyState={
41
- <Bullseye>
42
- <Text style={{ marginTop: '20px' }} component="p">
43
- {__('No results found')}
44
- </Text>
45
- </Bullseye>
46
- }
47
- >
48
- {jobs?.length &&
49
- jobs.map(
50
- ({
51
- status: jobStatus,
52
- status_label: label,
53
- id,
54
- start_at: startAt,
55
- description,
56
- }) => (
57
- <DataListItem key={id}>
58
- <DataListItemRow>
59
- <DataListItemCells
60
- dataListCells={[
61
- <DataListCell
62
- wrapModifier={DataListWrapModifier.truncate}
63
- key={`name-${id}`}
64
- >
65
- <a href={foremanUrl(`/job_invocations/${id}`)}>
66
- {description}
67
- </a>
68
- </DataListCell>,
69
- <DataListCell key={`date-${id}`}>
70
- <RelativeDateTime date={startAt} />
71
- </DataListCell>,
72
- <DataListCell key={`status-${id}`}>
73
- <JobStatusIcon status={jobStatus}>
74
- {label}
75
- </JobStatusIcon>
76
- </DataListCell>,
77
- ]}
78
- />
79
- </DataListItemRow>
80
- </DataListItem>
81
- )
82
- )}
83
- </SkeletonLoader>
84
- </DataList>
28
+ <SkeletonLoader
29
+ skeletonProps={{ count: 3 }}
30
+ status={responseStatus || STATUS.PENDING}
31
+ emptyState={
32
+ <Bullseye>
33
+ <Text
34
+ ouiaId="no-results-text"
35
+ style={{ marginTop: '20px' }}
36
+ component="p"
37
+ >
38
+ {__('No results found')}
39
+ </Text>
40
+ </Bullseye>
41
+ }
42
+ >
43
+ {!!jobs?.length && (
44
+ <TableComposable
45
+ aria-label="recent-jobs-table"
46
+ variant="compact"
47
+ borders="compactBorderless"
48
+ >
49
+ <Tbody>
50
+ {jobs.map(
51
+ ({
52
+ status: jobStatus,
53
+ status_label: label,
54
+ id,
55
+ start_at: startAt,
56
+ description,
57
+ }) => (
58
+ <Tr key={id}>
59
+ <Td modifier="truncate" key={`name-${id}`}>
60
+ <a href={foremanUrl(`/job_invocations/${id}`)}>
61
+ {description}
62
+ </a>
63
+ </Td>
64
+ <Td modifier="truncate" key={`date-${id}`}>
65
+ <RelativeDateTime date={startAt} />
66
+ </Td>
67
+ <Td modifier="truncate" key={`status-${id}`}>
68
+ <JobStatusIcon status={jobStatus}>{label}</JobStatusIcon>
69
+ </Td>
70
+ </Tr>
71
+ )
72
+ )}
73
+ </Tbody>
74
+ </TableComposable>
75
+ )}
76
+ </SkeletonLoader>
85
77
  );
86
78
  };
87
79
 
@@ -41,11 +41,11 @@ const fills = [
41
41
  ];
42
42
 
43
43
  const registerFills = () => {
44
- fills.forEach(({ slot, id, component: Component, weight, metadata }) =>
44
+ fills.forEach(({ slot, name, component: Component, weight, metadata }) =>
45
45
  addGlobalFill(
46
46
  slot,
47
- id,
48
- <Component key={`rex-fill-${id}`} />,
47
+ `rex-${name}`,
48
+ <Component key={`rex-${name}`} />,
49
49
  weight,
50
50
  metadata
51
51
  )
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_remote_execution
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.0
4
+ version: 7.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Foreman Remote Execution team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-09 00:00:00.000000000 Z
11
+ date: 2022-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deface
@@ -546,7 +546,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
546
546
  - !ruby/object:Gem::Version
547
547
  version: '0'
548
548
  requirements: []
549
- rubygems_version: 3.2.26
549
+ rubygems_version: 3.3.20
550
550
  signing_key:
551
551
  specification_version: 4
552
552
  summary: A plugin bringing remote execution to the Foreman, completing the config