foreman_ansible 15.0.6 → 16.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.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/foreman_ansible/locale/ca/foreman_ansible.js +10 -1
  3. data/app/assets/javascripts/foreman_ansible/locale/cs_CZ/foreman_ansible.js +10 -1
  4. data/app/assets/javascripts/foreman_ansible/locale/de/foreman_ansible.js +10 -1
  5. data/app/assets/javascripts/foreman_ansible/locale/es/foreman_ansible.js +10 -1
  6. data/app/assets/javascripts/foreman_ansible/locale/fr/foreman_ansible.js +10 -1
  7. data/app/assets/javascripts/foreman_ansible/locale/gl/foreman_ansible.js +10 -1
  8. data/app/assets/javascripts/foreman_ansible/locale/it/foreman_ansible.js +10 -1
  9. data/app/assets/javascripts/foreman_ansible/locale/ja/foreman_ansible.js +13 -4
  10. data/app/assets/javascripts/foreman_ansible/locale/ka/foreman_ansible.js +10 -1
  11. data/app/assets/javascripts/foreman_ansible/locale/ko/foreman_ansible.js +242 -233
  12. data/app/assets/javascripts/foreman_ansible/locale/nl_NL/foreman_ansible.js +10 -1
  13. data/app/assets/javascripts/foreman_ansible/locale/pl/foreman_ansible.js +10 -1
  14. data/app/assets/javascripts/foreman_ansible/locale/pt_BR/foreman_ansible.js +10 -1
  15. data/app/assets/javascripts/foreman_ansible/locale/ru/foreman_ansible.js +10 -1
  16. data/app/assets/javascripts/foreman_ansible/locale/sv_SE/foreman_ansible.js +10 -1
  17. data/app/assets/javascripts/foreman_ansible/locale/zh_CN/foreman_ansible.js +10 -1
  18. data/app/assets/javascripts/foreman_ansible/locale/zh_TW/foreman_ansible.js +10 -1
  19. data/app/controllers/concerns/foreman/controller/parameters/job_template_extensions.rb +1 -1
  20. data/app/controllers/foreman_ansible/api/v2/job_templates_controller_extensions.rb +1 -0
  21. data/app/models/foreman_ansible/ansible_provider.rb +1 -0
  22. data/app/views/api/v2/job_templates/job_templates.json.rabl +1 -1
  23. data/app/views/job_templates/_job_template_callback_tab_content.html.erb +1 -0
  24. data/db/migrate/20241022000000_add_ansible_check_mode_to_templates.rb +5 -0
  25. data/lib/foreman_ansible/register.rb +1 -1
  26. data/lib/foreman_ansible/version.rb +1 -1
  27. data/locale/ca/LC_MESSAGES/foreman_ansible.mo +0 -0
  28. data/locale/ca/foreman_ansible.po +10 -1
  29. data/locale/cs_CZ/LC_MESSAGES/foreman_ansible.mo +0 -0
  30. data/locale/cs_CZ/foreman_ansible.po +10 -1
  31. data/locale/de/LC_MESSAGES/foreman_ansible.mo +0 -0
  32. data/locale/de/foreman_ansible.po +10 -1
  33. data/locale/en/LC_MESSAGES/foreman_ansible.mo +0 -0
  34. data/locale/en_GB/LC_MESSAGES/foreman_ansible.mo +0 -0
  35. data/locale/es/LC_MESSAGES/foreman_ansible.mo +0 -0
  36. data/locale/es/foreman_ansible.po +11 -2
  37. data/locale/foreman_ansible.pot +20 -7
  38. data/locale/fr/LC_MESSAGES/foreman_ansible.mo +0 -0
  39. data/locale/fr/foreman_ansible.po +10 -1
  40. data/locale/gl/LC_MESSAGES/foreman_ansible.mo +0 -0
  41. data/locale/gl/foreman_ansible.po +10 -1
  42. data/locale/it/LC_MESSAGES/foreman_ansible.mo +0 -0
  43. data/locale/it/foreman_ansible.po +10 -1
  44. data/locale/ja/LC_MESSAGES/foreman_ansible.mo +0 -0
  45. data/locale/ja/foreman_ansible.po +14 -5
  46. data/locale/ka/LC_MESSAGES/foreman_ansible.mo +0 -0
  47. data/locale/ka/foreman_ansible.po +10 -1
  48. data/locale/ko/LC_MESSAGES/foreman_ansible.mo +0 -0
  49. data/locale/ko/foreman_ansible.po +244 -233
  50. data/locale/nl_NL/LC_MESSAGES/foreman_ansible.mo +0 -0
  51. data/locale/nl_NL/foreman_ansible.po +10 -1
  52. data/locale/pl/LC_MESSAGES/foreman_ansible.mo +0 -0
  53. data/locale/pl/foreman_ansible.po +10 -1
  54. data/locale/pt_BR/LC_MESSAGES/foreman_ansible.mo +0 -0
  55. data/locale/pt_BR/foreman_ansible.po +10 -1
  56. data/locale/ru/LC_MESSAGES/foreman_ansible.mo +0 -0
  57. data/locale/ru/foreman_ansible.po +10 -1
  58. data/locale/sv_SE/LC_MESSAGES/foreman_ansible.mo +0 -0
  59. data/locale/sv_SE/foreman_ansible.po +10 -1
  60. data/locale/zh_CN/LC_MESSAGES/foreman_ansible.mo +0 -0
  61. data/locale/zh_CN/foreman_ansible.po +10 -1
  62. data/locale/zh_TW/LC_MESSAGES/foreman_ansible.mo +0 -0
  63. data/locale/zh_TW/foreman_ansible.po +10 -1
  64. data/webpack/components/AnsibleHostDetail/AnsibleHostDetail.scss +1 -1
  65. data/webpack/components/AnsibleHostDetail/components/AnsibleVariableOverrides/AnsibleVariableOverridesTable.js +4 -11
  66. data/webpack/components/AnsibleHostDetail/components/AnsibleVariableOverrides/EditableValueHelper.js +11 -5
  67. data/webpack/components/AnsibleHostDetail/components/AnsibleVariableOverrides/__test__/AnsibleVariableOverrides.test.js +1 -1
  68. data/webpack/components/AnsibleHostDetail/components/AnsibleVariableOverrides/__test__/AnsibleVariableOverridesDelete.test.js +2 -2
  69. data/webpack/components/AnsibleHostDetail/components/JobsTab/NewRecurringJobModal.scss +2 -2
  70. data/webpack/components/AnsibleHostDetail/components/JobsTab/PreviousJobsTable.js +3 -10
  71. data/webpack/components/AnsibleHostDetail/components/JobsTab/RecurringJobsTable.js +3 -10
  72. data/webpack/components/AnsibleHostDetail/components/JobsTab/__test__/JobsTab.test.js +2 -1
  73. data/webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/AllRolesTable.js +3 -10
  74. data/webpack/components/AnsibleHostDetail/components/RolesTab/EditRolesModal/EditRolesModal.scss +1 -1
  75. data/webpack/components/AnsibleHostDetail/components/RolesTab/RolesTable.js +3 -10
  76. data/webpack/components/AnsibleRolesAndVariables/AnsibleRolesAndVariables.js +3 -3
  77. data/webpack/components/DualList/ListControls.js +9 -9
  78. data/webpack/components/DualList/ListHeader.js +5 -3
  79. data/webpack/components/DualList/ListItem.js +9 -9
  80. data/webpack/components/DualList/ListPane.js +3 -3
  81. data/webpack/components/DualList/SelectedStatus.js +2 -2
  82. data/webpack/components/DualList/index.js +1 -1
  83. data/webpack/formHelper.js +26 -29
  84. data/webpack/routes/HostgroupJobs/__test__/HostgroupJobs.test.js +1 -0
  85. metadata +10 -16
  86. data/app/assets/javascripts/foreman_ansible/locale/en/foreman_ansible.js +0 -910
  87. data/app/assets/javascripts/foreman_ansible/locale/en_GB/foreman_ansible.js +0 -910
  88. data/locale/en/foreman_ansible.po +0 -908
  89. data/locale/en_GB/foreman_ansible.po +0 -912
@@ -58,16 +58,16 @@ const ListPane = ({
58
58
 
59
59
  return (
60
60
  <div
61
- className={`pf-c-dual-list-selector__pane pf-m-available ${paneClass}`}
61
+ className={`pf-v5-c-dual-list-selector__pane pf-m-available ${paneClass}`}
62
62
  >
63
63
  <ListHeader title={title} />
64
64
  <SelectedStatus
65
65
  selectedCount={selected.length}
66
66
  totalCount={items.length}
67
67
  />
68
- <div className="pf-c-dual-list-selector__menu">
68
+ <div className="pf-v5-c-dual-list-selector__menu">
69
69
  <DndProvider backend={HTML5Backend}>
70
- <ul className="pf-c-dual-list-selector__list">
70
+ <ul className="pf-v5-c-dual-list-selector__list">
71
71
  {items.map(renderItem)}
72
72
  </ul>
73
73
  </DndProvider>
@@ -3,8 +3,8 @@ import PropTypes from 'prop-types';
3
3
  import { translate as __, sprintf } from 'foremanReact/common/I18n';
4
4
 
5
5
  const SelectedStatus = ({ selectedCount, totalCount }) => (
6
- <div className="pf-c-dual-list-selector__status">
7
- <span className="pf-c-dual-list-selector__status-text">
6
+ <div className="pf-v5-c-dual-list-selector__status">
7
+ <span className="pf-v5-c-dual-list-selector__status-text">
8
8
  {sprintf(__('%(selectedCount)s of %(totalCount)s items selected'), {
9
9
  selectedCount,
10
10
  totalCount,
@@ -61,7 +61,7 @@ const DualList = props => {
61
61
  props.onListChange(props.availableOptions, items);
62
62
 
63
63
  return (
64
- <div className="pf-c-dual-list-selector">
64
+ <div className="pf-v5-c-dual-list-selector">
65
65
  <ListPane
66
66
  title={__('Available Ansible roles')}
67
67
  items={props.availableOptions}
@@ -6,19 +6,12 @@ import {
6
6
  FormSelectOption,
7
7
  DatePicker,
8
8
  TimePicker,
9
+ FormHelperText,
10
+ HelperText,
11
+ HelperTextItem,
9
12
  } from '@patternfly/react-core';
10
13
  import { ExclamationCircleIcon } from '@patternfly/react-icons';
11
14
 
12
- const wrapFieldProps = fieldProps => {
13
- const { onChange } = fieldProps;
14
- // modify onChange args to correctly wire formik with pf4 input handlers
15
- const wrappedOnChange = (value, event) => {
16
- onChange(event);
17
- };
18
-
19
- return { ...fieldProps, onChange: wrappedOnChange };
20
- };
21
-
22
15
  const wrapPickerProps = fieldProps => {
23
16
  const { onChange } = fieldProps;
24
17
  // because pf4 does not provide consistent handlers for its inputs
@@ -45,18 +38,12 @@ export const SelectField = ({
45
38
  isRequired,
46
39
  blankLabel,
47
40
  }) => {
48
- const fieldProps = wrapFieldProps(field);
41
+ const fieldProps = field;
49
42
 
50
43
  const valid = shouldValidate(form, field.name);
51
44
 
52
45
  return (
53
- <FormGroup
54
- label={label}
55
- isRequired={isRequired}
56
- helperTextInvalid={form.errors[field.name]}
57
- helperTextInvalidIcon={<ExclamationCircleIcon />}
58
- validated={valid}
59
- >
46
+ <FormGroup label={label} isRequired={isRequired}>
60
47
  <FormSelect
61
48
  ouiaId={`select-${fieldProps.name}`}
62
49
  {...fieldProps}
@@ -70,6 +57,15 @@ export const SelectField = ({
70
57
  <FormSelectOption key={idx + 1} value={item.id} label={item.name} />
71
58
  ))}
72
59
  </FormSelect>
60
+ {valid === 'error' && (
61
+ <FormHelperText>
62
+ <HelperText>
63
+ <HelperTextItem variant="icon" icon={<ExclamationCircleIcon />}>
64
+ {form.errors[field.name]}
65
+ </HelperTextItem>
66
+ </HelperText>
67
+ </FormHelperText>
68
+ )}
73
69
  </FormGroup>
74
70
  );
75
71
  };
@@ -96,25 +92,26 @@ const pickerWithHandlers = ComponentType => {
96
92
 
97
93
  const Component = ComponentType === 'date' ? DatePicker : TimePicker;
98
94
  return (
99
- <FormGroup
100
- label={label}
101
- isRequired={isRequired}
102
- helperTextInvalid={form.errors[field.name]}
103
- helperTextInvalidIcon={<ExclamationCircleIcon />}
104
- validated={valid}
105
- >
95
+ <FormGroup label={label} isRequired={isRequired}>
106
96
  <Component
107
97
  aria-label={field.name}
108
- onChange={(a, b) => {
109
- // datepicker: onChange (event: React.FormEvent<HTMLInputElement>, value: string, date?: Date) => void
110
- // timepicker: onChange (time: string, hour?: number, minute?: number, seconds?: number, isValid?: boolean ) => void
111
- ComponentType === 'date' ? onChange(b, a) : onChange(a);
98
+ onChange={(e, value) => {
99
+ onChange(value);
112
100
  }}
113
101
  onBlur={onBlur}
114
102
  {...rest}
115
103
  validated={valid}
116
104
  isDisabled={form.isSubmitting}
117
105
  />
106
+ {valid === 'error' && (
107
+ <FormHelperText>
108
+ <HelperText>
109
+ <HelperTextItem variant="icon" icon={<ExclamationCircleIcon />}>
110
+ {form.errors[field.name]}
111
+ </HelperTextItem>
112
+ </HelperText>
113
+ </FormHelperText>
114
+ )}
118
115
  </FormGroup>
119
116
  );
120
117
  };
@@ -75,6 +75,7 @@ describe('HostgroupJobs', () => {
75
75
  />
76
76
  );
77
77
  await waitFor(tick);
78
+ await waitFor(tick);
78
79
  userEvent.click(
79
80
  screen.getByRole('button', { name: 'schedule recurring job' })
80
81
  );
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_ansible
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.0.6
4
+ version: 16.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Lobato Garcia
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-03-04 00:00:00.000000000 Z
10
+ date: 2025-03-27 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: acts_as_list
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: 1.0.3
18
+ version: '1.2'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: 1.0.3
25
+ version: '1.2'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: deface
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -47,7 +46,7 @@ dependencies:
47
46
  version: '14.0'
48
47
  - - "<"
49
48
  - !ruby/object:Gem::Version
50
- version: '16'
49
+ version: '17'
51
50
  type: :runtime
52
51
  prerelease: false
53
52
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,7 +56,7 @@ dependencies:
57
56
  version: '14.0'
58
57
  - - "<"
59
58
  - !ruby/object:Gem::Version
60
- version: '16'
59
+ version: '17'
61
60
  - !ruby/object:Gem::Dependency
62
61
  name: foreman-tasks
63
62
  requirement: !ruby/object:Gem::Requirement
@@ -67,7 +66,7 @@ dependencies:
67
66
  version: '10.0'
68
67
  - - "<"
69
68
  - !ruby/object:Gem::Version
70
- version: '11'
69
+ version: '12'
71
70
  type: :runtime
72
71
  prerelease: false
73
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -77,7 +76,7 @@ dependencies:
77
76
  version: '10.0'
78
77
  - - "<"
79
78
  - !ruby/object:Gem::Version
80
- version: '11'
79
+ version: '12'
81
80
  - !ruby/object:Gem::Dependency
82
81
  name: theforeman-rubocop
83
82
  requirement: !ruby/object:Gem::Requirement
@@ -105,8 +104,6 @@ files:
105
104
  - app/assets/javascripts/foreman_ansible/locale/ca/foreman_ansible.js
106
105
  - app/assets/javascripts/foreman_ansible/locale/cs_CZ/foreman_ansible.js
107
106
  - app/assets/javascripts/foreman_ansible/locale/de/foreman_ansible.js
108
- - app/assets/javascripts/foreman_ansible/locale/en/foreman_ansible.js
109
- - app/assets/javascripts/foreman_ansible/locale/en_GB/foreman_ansible.js
110
107
  - app/assets/javascripts/foreman_ansible/locale/es/foreman_ansible.js
111
108
  - app/assets/javascripts/foreman_ansible/locale/fr/foreman_ansible.js
112
109
  - app/assets/javascripts/foreman_ansible/locale/gl/foreman_ansible.js
@@ -269,6 +266,7 @@ files:
269
266
  - db/migrate/20221003153000_add_ansible_callback_enabled_to_templates.rb
270
267
  - db/migrate/20221031114720_rename_capsule_upgrade_playbook.rb
271
268
  - db/migrate/20230416170000_enable_ansible_callback_for_rex_feature.rb
269
+ - db/migrate/20241022000000_add_ansible_check_mode_to_templates.rb
272
270
  - db/seeds.d/100_common_parameters.rb
273
271
  - db/seeds.d/62_ansible_proxy_feature.rb
274
272
  - db/seeds.d/75_job_templates.rb
@@ -286,9 +284,7 @@ files:
286
284
  - locale/de/LC_MESSAGES/foreman_ansible.mo
287
285
  - locale/de/foreman_ansible.po
288
286
  - locale/en/LC_MESSAGES/foreman_ansible.mo
289
- - locale/en/foreman_ansible.po
290
287
  - locale/en_GB/LC_MESSAGES/foreman_ansible.mo
291
- - locale/en_GB/foreman_ansible.po
292
288
  - locale/es/LC_MESSAGES/foreman_ansible.mo
293
289
  - locale/es/foreman_ansible.po
294
290
  - locale/foreman_ansible.pot
@@ -495,7 +491,6 @@ homepage: https://github.com/theforeman/foreman_ansible
495
491
  licenses:
496
492
  - GPL-3.0
497
493
  metadata: {}
498
- post_install_message:
499
494
  rdoc_options: []
500
495
  require_paths:
501
496
  - lib
@@ -510,8 +505,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
510
505
  - !ruby/object:Gem::Version
511
506
  version: '0'
512
507
  requirements: []
513
- rubygems_version: 3.5.23
514
- signing_key:
508
+ rubygems_version: 3.6.2
515
509
  specification_version: 4
516
510
  summary: Ansible integration with Foreman (theforeman.org)
517
511
  test_files: