katello 4.7.0.rc1 → 4.7.0.rc2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of katello might be problematic. Click here for more details.

Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/app/lib/actions/candlepin/abstract_async_task.rb +7 -3
  3. data/app/lib/actions/candlepin/owner/{upstream_export.rb → retrieve_upstream_export.rb} +3 -3
  4. data/app/lib/actions/candlepin/owner/start_upstream_export.rb +24 -0
  5. data/app/lib/actions/candlepin/upstream_abstract_async_task.rb +30 -0
  6. data/app/lib/actions/katello/organization/manifest_refresh.rb +12 -7
  7. data/app/lib/actions/middleware/propagate_candlepin_errors.rb +6 -1
  8. data/app/lib/actions/pulp3/orchestration/orphan_cleanup/remove_orphans.rb +1 -0
  9. data/app/lib/actions/pulp3/orphan_cleanup/delete_orphan_alternate_content_sources.rb +16 -0
  10. data/app/lib/katello/errors.rb +1 -0
  11. data/app/lib/katello/resources/candlepin/upstream_consumer.rb +1 -1
  12. data/app/lib/katello/resources/candlepin/upstream_job.rb +28 -0
  13. data/app/models/katello/content_view_erratum_filter.rb +5 -4
  14. data/app/models/katello/glue/provider.rb +28 -18
  15. data/app/services/katello/pulp3/docker_manifest.rb +2 -1
  16. data/app/services/katello/pulp3/docker_manifest_list.rb +2 -1
  17. data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +21 -0
  18. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +2 -2
  19. data/lib/katello/repository_types/docker.rb +2 -1
  20. data/lib/katello/version.rb +1 -1
  21. data/locale/action_names.rb +68 -68
  22. data/locale/bn/katello.po +38 -35
  23. data/locale/cs/katello.po +38 -35
  24. data/locale/de/katello.po +130 -126
  25. data/locale/en/katello.po +38 -35
  26. data/locale/es/katello.po +95 -88
  27. data/locale/fr/katello.po +95 -88
  28. data/locale/gu/katello.po +44 -41
  29. data/locale/hi/katello.po +43 -40
  30. data/locale/it/katello.po +61 -56
  31. data/locale/ja/katello.po +615 -614
  32. data/locale/ka/katello.po +8821 -0
  33. data/locale/katello.pot +353 -339
  34. data/locale/kn/katello.po +41 -38
  35. data/locale/ko/katello.po +62 -59
  36. data/locale/mr/katello.po +41 -38
  37. data/locale/or/katello.po +43 -40
  38. data/locale/pa/katello.po +41 -38
  39. data/locale/pt/katello.po +40 -36
  40. data/locale/pt_BR/katello.po +91 -84
  41. data/locale/ru/katello.po +68 -65
  42. data/locale/ta/katello.po +38 -35
  43. data/locale/te/katello.po +41 -38
  44. data/locale/zanata.xml +4 -2
  45. data/locale/zh_CN/katello.po +99 -96
  46. data/locale/zh_TW/katello.po +62 -59
  47. data/webpack/components/Table/EmptyStateMessage.js +3 -3
  48. data/webpack/containers/Application/overrides.scss +13 -1
  49. data/webpack/scenes/ContentViews/Create/ContentViewFormComponents.js +8 -3
  50. data/webpack/scenes/ContentViews/Details/Filters/ArtifactsWithNoErrata.js +8 -8
  51. data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +0 -6
  52. data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +0 -6
  53. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +67 -9
  54. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +4 -4
  55. data/webpack/scenes/ContentViews/Details/Filters/__tests__/ContentViewPackageGroupFilter.test.js +6 -6
  56. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +6 -6
  57. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilter.test.js +6 -8
  58. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompare.scss +31 -0
  59. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareHeader.js +5 -7
  60. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareTable.js +9 -2
  61. metadata +12 -7
@@ -118,10 +118,10 @@ test('Can remove a filter rule', async (done) => {
118
118
 
119
119
  await patientlyWaitFor(() => {
120
120
  expect(getByText(name)).toBeInTheDocument();
121
- expect(getAllByLabelText('Actions')[1]).toHaveAttribute('aria-expanded', 'false');
121
+ expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'false');
122
122
  });
123
- fireEvent.click(getAllByLabelText('Actions')[1]);
124
- expect(getAllByLabelText('Actions')[1]).toHaveAttribute('aria-expanded', 'true');
123
+ fireEvent.click(getAllByLabelText('Actions')[2]);
124
+ expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'true');
125
125
  await patientlyWaitFor(() => expect(getByText('Remove')).toBeInTheDocument());
126
126
  fireEvent.click(getByText('Remove'));
127
127
 
@@ -175,10 +175,10 @@ test('Can add a filter rule', async (done) => {
175
175
 
176
176
  await patientlyWaitFor(() => {
177
177
  expect(getByText(name)).toBeInTheDocument();
178
- expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'false');
178
+ expect(getAllByLabelText('Actions')[3]).toHaveAttribute('aria-expanded', 'false');
179
179
  });
180
- fireEvent.click(getAllByLabelText('Actions')[2]);
181
- expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'true');
180
+ fireEvent.click(getAllByLabelText('Actions')[3]);
181
+ expect(getAllByLabelText('Actions')[3]).toHaveAttribute('aria-expanded', 'true');
182
182
  await patientlyWaitFor(() => expect(getByText('Add')).toBeInTheDocument());
183
183
  fireEvent.click(getByText('Add'));
184
184
 
@@ -132,10 +132,10 @@ test('Can add a filter rule', async (done) => {
132
132
 
133
133
  await patientlyWaitFor(() => {
134
134
  expect(getByText(errataId)).toBeInTheDocument();
135
- expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'false');
135
+ expect(getAllByLabelText('Actions')[3]).toHaveAttribute('aria-expanded', 'false');
136
136
  });
137
- fireEvent.click(getAllByLabelText('Actions')[2]);
138
- expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'true');
137
+ fireEvent.click(getAllByLabelText('Actions')[3]);
138
+ expect(getAllByLabelText('Actions')[3]).toHaveAttribute('aria-expanded', 'true');
139
139
  await patientlyWaitFor(() => expect(getByText('Add')).toBeInTheDocument());
140
140
  fireEvent.click(getByText('Add'));
141
141
 
@@ -190,10 +190,10 @@ test('Can remove a filter rule', async (done) => {
190
190
 
191
191
  await patientlyWaitFor(() => {
192
192
  expect(getByText(errataId)).toBeInTheDocument();
193
- expect(getAllByLabelText('Actions')[1]).toHaveAttribute('aria-expanded', 'false');
193
+ expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'false');
194
194
  });
195
- fireEvent.click(getAllByLabelText('Actions')[1]);
196
- expect(getAllByLabelText('Actions')[1]).toHaveAttribute('aria-expanded', 'true');
195
+ fireEvent.click(getAllByLabelText('Actions')[2]);
196
+ expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'true');
197
197
  await patientlyWaitFor(() => expect(getByText('Remove')).toBeInTheDocument());
198
198
  fireEvent.click(getByText('Remove'));
199
199
 
@@ -132,20 +132,18 @@ test('Can add a filter rule', async (done) => {
132
132
 
133
133
  await patientlyWaitFor(() => {
134
134
  expect(getByText(name)).toBeInTheDocument();
135
- expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'false');
135
+ expect(getAllByLabelText('Actions')[3]).toHaveAttribute('aria-expanded', 'false');
136
136
  });
137
- fireEvent.click(getAllByLabelText('Actions')[2]);
138
- expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'true');
137
+ fireEvent.click(getAllByLabelText('Actions')[3]);
138
+ expect(getAllByLabelText('Actions')[3]).toHaveAttribute('aria-expanded', 'true');
139
139
  await patientlyWaitFor(() => expect(getByText('Add')).toBeInTheDocument());
140
140
  fireEvent.click(getByText('Add'));
141
141
 
142
-
143
142
  assertNockRequest(autocompleteScope);
144
143
  assertNockRequest(cvFilterScope);
145
144
  assertNockRequest(cvFiltersScope);
146
145
  assertNockRequest(cvFiltersRuleScope);
147
146
  assertNockRequest(cvRequestCallbackScope);
148
-
149
147
  assertNockRequest(moduleStreamsScope, done);
150
148
  });
151
149
 
@@ -190,10 +188,10 @@ test('Can remove a filter rule', async (done) => {
190
188
 
191
189
  await patientlyWaitFor(() => {
192
190
  expect(getByText(name)).toBeInTheDocument();
193
- expect(getAllByLabelText('Actions')[1]).toHaveAttribute('aria-expanded', 'false');
191
+ expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'false');
194
192
  });
195
- fireEvent.click(getAllByLabelText('Actions')[1]);
196
- expect(getAllByLabelText('Actions')[1]).toHaveAttribute('aria-expanded', 'true');
193
+ fireEvent.click(getAllByLabelText('Actions')[2]);
194
+ expect(getAllByLabelText('Actions')[2]).toHaveAttribute('aria-expanded', 'true');
197
195
  await patientlyWaitFor(() => expect(getByText('Remove')).toBeInTheDocument());
198
196
  fireEvent.click(getByText('Remove'));
199
197
 
@@ -49,3 +49,34 @@
49
49
  width: 100%;
50
50
  }
51
51
  }
52
+
53
+ .cvv-spaced-tooltip {
54
+ margin-left: 8px;
55
+ display: flex;
56
+ align-items: center;
57
+ }
58
+
59
+ .cvv-compare-bordered-table-header {
60
+ th:nth-last-child(-n+2) {
61
+ padding-left: 2rem;
62
+ }
63
+
64
+ th:nth-last-child(3) {
65
+ margin-left: 2rem;
66
+ border-right: var(--pf-global--BorderWidth--sm);
67
+ border-right-color: var(--pf-c-table--BorderColor);
68
+ border-right-style: inset;
69
+ }
70
+ }
71
+
72
+ .cvv-compare-bordered-table-rows {
73
+ td:nth-last-child(3) {
74
+ border-right: var(--pf-global--BorderWidth--sm);
75
+ border-right-color: var(--pf-c-table--BorderColor);
76
+ border-right-style: inset;
77
+ }
78
+
79
+ td:nth-last-child(-n+2) {
80
+ padding-left: 4rem;
81
+ }
82
+ }
@@ -3,11 +3,11 @@ import PropTypes from 'prop-types';
3
3
  import { translate as __ } from 'foremanReact/common/I18n';
4
4
  import { useSelector } from 'react-redux';
5
5
  import {
6
- Grid, GridItem, TextContent, Text, TextVariants, Tooltip,
6
+ Grid, GridItem, TextContent, Text, TextVariants,
7
7
  Select, SelectOption, SelectVariant, Flex, FlexItem,
8
8
  } from '@patternfly/react-core';
9
- import { OutlinedQuestionCircleIcon } from '@patternfly/react-icons';
10
9
  import { selectCVDetails } from '../../ContentViewDetailSelectors';
10
+ import { HelpToolTip } from '../../../Create/ContentViewFormComponents';
11
11
 
12
12
  const CVVersionCompareHeader = ({
13
13
  versionOne, versionTwo, cvId, setVersionOne, setVersionTwo, selectedViewBy, setSelectedViewBy,
@@ -81,13 +81,11 @@ const CVVersionCompareHeader = ({
81
81
  <TextContent>
82
82
  <Text ouiaId="cv-version-compare-button" component={TextVariants.h2}>{__('Compare')}</Text>
83
83
  </TextContent>
84
- <Tooltip aria="none" aria-live="polite" content={toolTipContent} style={{ marginLeft: 'auto' }}>
85
- <OutlinedQuestionCircleIcon />
86
- </Tooltip>
84
+ <HelpToolTip className="cvv-spaced-tooltip" tooltip={toolTipContent} />
87
85
  </GridItem>
88
86
  <GridItem span={12}>
89
87
  <Flex>
90
- <FlexItem>
88
+ <FlexItem style={{ marginRight: '60px' }}>
91
89
  <Flex direction={{ default: 'column' }}>
92
90
  <h3><b>{__('Versions to compare')}</b></h3>
93
91
  <FlexItem>
@@ -146,7 +144,7 @@ const CVVersionCompareHeader = ({
146
144
  </FlexItem>
147
145
  </Flex>
148
146
  </FlexItem >
149
- <FlexItem style={{ marginLeft: '60px' }}>
147
+ <FlexItem className="border-left" style={{ paddingLeft: '60px' }}>
150
148
  <Flex direction={{ default: 'column' }}>
151
149
  <h3><b>{__('View by')}</b></h3>
152
150
  <FlexItem>
@@ -8,6 +8,7 @@ import { TableVariant, Tr, Th, Tbody, Td, Thead } from '@patternfly/react-table'
8
8
  import { TableType } from './CVVersionCompareConfig';
9
9
  import TableWrapper from '../../../../../components/Table/TableWrapper';
10
10
  import { useTableSort } from '../../../../../components/Table/TableHooks';
11
+ import './CVVersionCompare.scss';
11
12
 
12
13
  const CVVersionCompareTable = ({
13
14
  tableConfig: {
@@ -59,6 +60,7 @@ const CVVersionCompareTable = ({
59
60
  emptyContentTitle={__(`No matching ${name} found.`)}
60
61
  emptyContentBody=""
61
62
  variant={TableVariant.compact}
63
+ className="cvv-compare-bordered-table-rows cvv-compare-bordered-table-header"
62
64
  >
63
65
  <Thead>
64
66
  <Tr ouiaId="column-headers">
@@ -78,8 +80,13 @@ const CVVersionCompareTable = ({
78
80
  (
79
81
  <Tr key={`column-${result.id}`} ouiaId={`column-${result.id}`}>
80
82
  {columnHeaders.map(({ getProperty }, colIndex) =>
81
- // eslint-disable-next-line react/no-array-index-key
82
- <Td key={`cell-${colIndex}`}>{getProperty(result)} </Td>)}
83
+ (
84
+ <Td
85
+ // eslint-disable-next-line react/no-array-index-key
86
+ key={`cell-${colIndex}`}
87
+ >
88
+ {getProperty(result)}
89
+ </Td>))}
83
90
  </Tr>
84
91
  ))}
85
92
  </Tbody>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: katello
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.7.0.rc1
4
+ version: 4.7.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - N/A
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-10 00:00:00.000000000 Z
11
+ date: 2022-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -837,7 +837,8 @@ files:
837
837
  - app/lib/actions/candlepin/owner/destroy_imports.rb
838
838
  - app/lib/actions/candlepin/owner/import.rb
839
839
  - app/lib/actions/candlepin/owner/import_products.rb
840
- - app/lib/actions/candlepin/owner/upstream_export.rb
840
+ - app/lib/actions/candlepin/owner/retrieve_upstream_export.rb
841
+ - app/lib/actions/candlepin/owner/start_upstream_export.rb
841
842
  - app/lib/actions/candlepin/owner/upstream_update.rb
842
843
  - app/lib/actions/candlepin/product/content_add.rb
843
844
  - app/lib/actions/candlepin/product/content_create.rb
@@ -850,6 +851,7 @@ files:
850
851
  - app/lib/actions/candlepin/product/delete_subscriptions.rb
851
852
  - app/lib/actions/candlepin/product/destroy.rb
852
853
  - app/lib/actions/candlepin/product/update.rb
854
+ - app/lib/actions/candlepin/upstream_abstract_async_task.rb
853
855
  - app/lib/actions/helpers/notifications.rb
854
856
  - app/lib/actions/helpers/output_propagator.rb
855
857
  - app/lib/actions/helpers/presenter.rb
@@ -1110,6 +1112,7 @@ files:
1110
1112
  - app/lib/actions/pulp3/orchestration/repository/trigger_update_repo_cert_guard.rb
1111
1113
  - app/lib/actions/pulp3/orchestration/repository/update.rb
1112
1114
  - app/lib/actions/pulp3/orchestration/repository/upload_content.rb
1115
+ - app/lib/actions/pulp3/orphan_cleanup/delete_orphan_alternate_content_sources.rb
1113
1116
  - app/lib/actions/pulp3/orphan_cleanup/delete_orphan_distributions.rb
1114
1117
  - app/lib/actions/pulp3/orphan_cleanup/delete_orphan_remotes.rb
1115
1118
  - app/lib/actions/pulp3/orphan_cleanup/delete_orphan_repository_versions.rb
@@ -1197,6 +1200,7 @@ files:
1197
1200
  - app/lib/katello/resources/candlepin/subscription.rb
1198
1201
  - app/lib/katello/resources/candlepin/upstream_consumer.rb
1199
1202
  - app/lib/katello/resources/candlepin/upstream_entitlement.rb
1203
+ - app/lib/katello/resources/candlepin/upstream_job.rb
1200
1204
  - app/lib/katello/resources/candlepin/upstream_owner.rb
1201
1205
  - app/lib/katello/resources/candlepin/upstream_pool.rb
1202
1206
  - app/lib/katello/resources/cdn.rb
@@ -4493,6 +4497,7 @@ files:
4493
4497
  - locale/hi/katello.po
4494
4498
  - locale/it/katello.po
4495
4499
  - locale/ja/katello.po
4500
+ - locale/ka/katello.po
4496
4501
  - locale/katello.pot
4497
4502
  - locale/kn/katello.po
4498
4503
  - locale/ko/katello.po
@@ -5419,7 +5424,7 @@ homepage: http://www.katello.org
5419
5424
  licenses:
5420
5425
  - GPL-2.0
5421
5426
  metadata: {}
5422
- post_install_message:
5427
+ post_install_message:
5423
5428
  rdoc_options: []
5424
5429
  require_paths:
5425
5430
  - lib
@@ -5434,8 +5439,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
5434
5439
  - !ruby/object:Gem::Version
5435
5440
  version: 1.3.1
5436
5441
  requirements: []
5437
- rubygems_version: 3.1.6
5438
- signing_key:
5442
+ rubygems_version: 3.3.7
5443
+ signing_key:
5439
5444
  specification_version: 4
5440
5445
  summary: Content and Subscription Management plugin for Foreman
5441
5446
  test_files: []