katello 4.12.0 → 4.13.0.rc1
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.
- checksums.yaml +4 -4
- data/README.md +0 -1
- data/app/assets/javascripts/katello/locale/bn/katello.js +3365 -3350
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +3136 -3121
- data/app/assets/javascripts/katello/locale/ca/katello.js +3588 -3576
- data/app/assets/javascripts/katello/locale/cs/katello.js +3499 -3487
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +4186 -4186
- data/app/assets/javascripts/katello/locale/de/katello.js +5553 -5562
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +3008 -2993
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +3066 -3051
- data/app/assets/javascripts/katello/locale/el/katello.js +3376 -3370
- data/app/assets/javascripts/katello/locale/en/katello.js +3008 -2993
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +3076 -3073
- data/app/assets/javascripts/katello/locale/en_US/katello.js +3008 -2993
- data/app/assets/javascripts/katello/locale/es/katello.js +5366 -5372
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +3008 -2993
- data/app/assets/javascripts/katello/locale/fr/katello.js +5975 -5984
- data/app/assets/javascripts/katello/locale/gl/katello.js +3125 -3113
- data/app/assets/javascripts/katello/locale/gu/katello.js +3119 -3104
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +3020 -3005
- data/app/assets/javascripts/katello/locale/hi/katello.js +3137 -3122
- data/app/assets/javascripts/katello/locale/id/katello.js +3008 -2993
- data/app/assets/javascripts/katello/locale/it/katello.js +4469 -4466
- data/app/assets/javascripts/katello/locale/ja/katello.js +5969 -5978
- data/app/assets/javascripts/katello/locale/ka/katello.js +5649 -5652
- data/app/assets/javascripts/katello/locale/kn/katello.js +3136 -3121
- data/app/assets/javascripts/katello/locale/ko/katello.js +4717 -4720
- data/app/assets/javascripts/katello/locale/locale/katello.js +1050 -1084
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +3008 -2993
- data/app/assets/javascripts/katello/locale/mr/katello.js +3136 -3121
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +3116 -3101
- data/app/assets/javascripts/katello/locale/or/katello.js +3137 -3122
- data/app/assets/javascripts/katello/locale/pa/katello.js +3136 -3121
- data/app/assets/javascripts/katello/locale/pl/katello.js +3210 -3195
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +3008 -2993
- data/app/assets/javascripts/katello/locale/pt/katello.js +3009 -2994
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +5362 -5368
- data/app/assets/javascripts/katello/locale/ro/katello.js +3008 -2993
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +3008 -2993
- data/app/assets/javascripts/katello/locale/ru/katello.js +4638 -4641
- data/app/assets/javascripts/katello/locale/sl/katello.js +3051 -3036
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +3156 -3144
- data/app/assets/javascripts/katello/locale/ta/katello.js +3365 -3350
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +3121 -3106
- data/app/assets/javascripts/katello/locale/te/katello.js +3136 -3121
- data/app/assets/javascripts/katello/locale/tr/katello.js +3025 -3010
- data/app/assets/javascripts/katello/locale/vi/katello.js +3008 -2993
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +3008 -2993
- data/app/assets/javascripts/katello/locale/zh/katello.js +3008 -2993
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +5968 -5977
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +4694 -4697
- data/app/assets/javascripts/katello/sync_management/sync_management.js +1 -0
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +51 -124
- data/app/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +12 -20
- data/app/controllers/katello/api/v2/activation_keys_controller.rb +10 -4
- data/app/controllers/katello/api/v2/capsule_content_controller.rb +24 -0
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +9 -2
- data/app/controllers/katello/api/v2/debs_controller.rb +1 -1
- data/app/controllers/katello/api/v2/errata_controller.rb +1 -1
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +12 -4
- data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +3 -3
- data/app/controllers/katello/api/v2/organizations_controller.rb +0 -11
- data/app/controllers/katello/api/v2/packages_controller.rb +1 -1
- data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +1 -1
- data/app/controllers/katello/api/v2/repositories_controller.rb +18 -12
- data/app/controllers/katello/api/v2/repository_sets_controller.rb +2 -1
- data/app/controllers/katello/api/v2/simple_content_access_controller.rb +9 -22
- data/app/controllers/katello/concerns/api/v2/authorization.rb +1 -1
- data/app/helpers/katello/katello_urls_helper.rb +26 -1
- data/app/helpers/katello/subscription_mailer_helper.rb +1 -1
- data/app/jobs/create_manifest_expire_soon_warning_notifications.rb +11 -0
- data/app/lib/actions/candlepin/owner/regenerate_upstream_identity_cert.rb +21 -0
- data/app/lib/actions/katello/capsule_content/sync.rb +1 -1
- data/app/lib/actions/katello/capsule_content/verify_checksum.rb +75 -0
- data/app/lib/actions/katello/content_view/promote.rb +1 -1
- data/app/lib/actions/katello/content_view/publish.rb +1 -1
- data/app/lib/actions/katello/content_view_version/verify_checksum.rb +29 -0
- data/app/lib/actions/katello/host/hypervisors_update.rb +1 -0
- data/app/lib/actions/katello/host/update_content_view.rb +2 -2
- data/app/lib/actions/katello/organization/manifest_import.rb +5 -0
- data/app/lib/actions/katello/organization/manifest_refresh.rb +3 -0
- data/app/lib/actions/katello/repository/metadata_generate.rb +7 -1
- data/app/lib/actions/katello/repository/remove_content.rb +1 -0
- data/app/lib/actions/katello/repository/sync.rb +2 -1
- data/app/lib/actions/katello/repository/upload_files.rb +1 -0
- data/app/lib/actions/pulp3/capsule_content/verify_checksum.rb +27 -0
- data/app/lib/actions/pulp3/orchestration/content_view_version/export_repository.rb +7 -9
- data/app/lib/actions/pulp3/orchestration/content_view_version/syncable_export.rb +5 -4
- data/app/lib/katello/concerns/base_template_scope_extensions.rb +7 -2
- data/app/lib/katello/errors.rb +4 -0
- data/app/lib/katello/http_resource.rb +6 -1
- data/app/lib/katello/resources/candlepin/consumer.rb +1 -1
- data/app/lib/katello/resources/candlepin/upstream_consumer.rb +18 -6
- data/app/lib/katello/resources/candlepin/upstream_job.rb +1 -1
- data/app/lib/katello/resources/registry.rb +25 -0
- data/app/mailers/katello/subscription_mailer.rb +3 -6
- data/app/models/katello/candlepin/repository_mapper.rb +1 -1
- data/app/models/katello/concerns/organization_extensions.rb +42 -3
- data/app/models/katello/content_view.rb +28 -0
- data/app/models/katello/content_view_environment_content_facet.rb +4 -2
- data/app/models/katello/glue/provider.rb +19 -12
- data/app/models/katello/glue/pulp/repos.rb +3 -8
- data/app/models/katello/host/content_facet.rb +1 -1
- data/app/models/katello/host/subscription_facet.rb +1 -1
- data/app/models/katello/host_collection.rb +12 -3
- data/app/models/katello/ping.rb +1 -1
- data/app/models/katello/repository.rb +33 -0
- data/app/models/katello/root_repository.rb +0 -4
- data/app/services/katello/content_unit_indexer.rb +9 -0
- data/app/services/katello/pulp3/alternate_content_source.rb +4 -6
- data/app/services/katello/pulp3/api/core.rb +13 -0
- data/app/services/katello/pulp3/api/yum.rb +11 -0
- data/app/services/katello/pulp3/docker_manifest.rb +5 -1
- data/app/services/katello/pulp3/repository/generic.rb +1 -1
- data/app/services/katello/pulp3/repository.rb +26 -6
- data/app/services/katello/pulp3/repository_mirror.rb +13 -12
- data/app/services/katello/pulp3/service_common.rb +2 -10
- data/app/services/katello/pulp3/smart_proxy_repository.rb +0 -2
- data/app/services/katello/ui_notifications/subscriptions/manifest_expire_soon_warning.rb +75 -0
- data/app/views/foreman/job_templates/update_package_-_katello_ansible_default.erb +5 -1
- data/app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb +2 -2
- data/app/views/foreman/job_templates/upload_profile.erb +16 -0
- data/app/views/katello/api/v2/content_view_filter_rules/show.json.rabl +9 -0
- data/app/views/katello/api/v2/docker_manifests/show.json.rabl +1 -0
- data/app/views/katello/api/v2/hosts/host_collections.json.rabl +5 -1
- data/app/views/katello/api/v2/organizations/show.json.rabl +9 -1
- data/app/views/katello/hosts/_errata_counts.html.erb +1 -1
- data/app/views/overrides/activation_keys/_host_environment_select.html.erb +1 -1
- data/app/views/overrides/activation_keys/_host_media_type_select.html.erb +15 -5
- data/app/views/overrides/activation_keys/_host_tab_pane.html.erb +1 -29
- data/config/routes/api/registry.rb +4 -8
- data/config/routes/api/v2.rb +2 -0
- data/db/migrate/20240423112842_add_fields_to_katello_docker_manifest.rb +8 -0
- data/db/migrate/20240502192021_change_katello_repository_rpms_id_seq_to_big_int.rb +9 -0
- data/db/seeds.d/109-katello-notification-blueprints.rb +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/new/views/new-content-credential.html +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-repository-sets.controller.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +0 -15
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +8 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +12 -10
- data/lib/katello/permission_creator.rb +3 -3
- data/lib/katello/permissions/registry_permissions.rb +4 -7
- data/lib/katello/plugin.rb +10 -9
- data/lib/katello/repository_types/ostree.rb +7 -0
- data/lib/katello/scheduled_jobs.rb +7 -1
- data/lib/katello/tasks/clean_backend_objects.rake +1 -1
- data/lib/katello/tasks/repository.rake +22 -0
- data/lib/katello/version.rb +1 -1
- data/locale/action_names.rb +4 -3
- data/locale/bn/katello.po +166 -151
- data/locale/bn_IN/katello.po +166 -151
- data/locale/ca/katello.po +166 -151
- data/locale/cs/katello.po +166 -151
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +172 -157
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +178 -163
- data/locale/de_AT/katello.po +166 -151
- data/locale/de_DE/katello.po +166 -151
- data/locale/el/katello.po +166 -151
- data/locale/en/katello.po +166 -151
- data/locale/en_GB/katello.po +166 -151
- data/locale/en_US/katello.po +166 -151
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +178 -163
- data/locale/et_EE/katello.po +166 -151
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +179 -164
- data/locale/gl/katello.po +166 -151
- data/locale/gu/katello.po +166 -151
- data/locale/he_IL/katello.po +166 -151
- data/locale/hi/katello.po +166 -151
- data/locale/id/katello.po +166 -151
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +169 -154
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +179 -164
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/katello.po +177 -162
- data/locale/katello.pot +1119 -1062
- data/locale/kn/katello.po +166 -151
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +174 -159
- data/locale/ml_IN/katello.po +166 -151
- data/locale/mr/katello.po +166 -151
- data/locale/nl_NL/katello.po +166 -151
- data/locale/or/katello.po +166 -151
- data/locale/pa/katello.po +166 -151
- data/locale/pl/katello.po +166 -151
- data/locale/pl_PL/katello.po +166 -151
- data/locale/pt/katello.po +166 -151
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +178 -163
- data/locale/ro/katello.po +166 -151
- data/locale/ro_RO/katello.po +166 -151
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +171 -156
- data/locale/sl/katello.po +166 -151
- data/locale/sv_SE/katello.po +166 -151
- data/locale/ta/katello.po +166 -151
- data/locale/ta_IN/katello.po +166 -151
- data/locale/te/katello.po +166 -151
- data/locale/tr/katello.po +166 -151
- data/locale/vi/katello.po +166 -151
- data/locale/vi_VN/katello.po +166 -151
- data/locale/zh/katello.po +166 -151
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +179 -164
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +171 -156
- data/webpack/ForemanColumnExtensions/index.js +129 -0
- data/webpack/components/ActivationKeysSearch/ActivationKeysSearch.test.js +28 -0
- data/webpack/components/ActivationKeysSearch/index.js +222 -0
- data/webpack/components/Table/TableWrapper.js +14 -0
- data/webpack/components/extensions/HostDetails/ActionsBar/index.js +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packageInstallModal.test.js +1 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +1 -0
- data/webpack/components/extensions/Hosts/ActionsBar/index.js +20 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCVModal/BulkChangeHostCVModal.js +220 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCVModal/actions.js +23 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCVModal/index.js +25 -0
- data/webpack/components/extensions/Hosts/BulkActions/__tests__/bulkChangeHostCVModal.test.js +133 -0
- data/webpack/global_index.js +19 -0
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +6 -3
- data/webpack/scenes/Hosts/ChangeContentSource/actions.js +3 -1
- data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +63 -25
- data/webpack/scenes/Hosts/ChangeContentSource/index.js +24 -16
- data/webpack/scenes/RedHatRepositories/__tests__/__snapshots__/RedHatRepositoriesPage.test.js.snap +1 -0
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +64 -5
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +16 -13
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/__snapshots__/UpstreamSubscriptionsPage.test.js.snap +14 -8
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.js +1 -1
- metadata +61 -42
- data/app/assets/javascripts/katello/hosts/activation_key_edit.js +0 -167
- data/app/lib/actions/katello/host/upload_package_profile.rb +0 -45
- data/app/lib/actions/katello/host/upload_profiles.rb +0 -47
@@ -17,7 +17,6 @@ import { selectApiDataStatus,
|
|
17
17
|
selectContentHosts,
|
18
18
|
selectContentHostsWithoutContent,
|
19
19
|
selectContentSources,
|
20
|
-
selectJobInvocationPath,
|
21
20
|
selectContentViews,
|
22
21
|
selectTemplate } from './selectors';
|
23
22
|
|
@@ -46,31 +45,36 @@ const ChangeContentSourcePage = () => {
|
|
46
45
|
const contentHosts = useSelector(selectContentHosts);
|
47
46
|
const hostsWithoutContent = useSelector(selectContentHostsWithoutContent);
|
48
47
|
const contentSources = useSelector(selectContentSources);
|
49
|
-
const jobInvocationPath = useSelector(selectJobInvocationPath);
|
50
48
|
|
51
49
|
const template = useSelector(selectTemplate);
|
52
50
|
const contentViews = useSelector(selectContentViews);
|
53
|
-
|
54
|
-
const [contentSourceId, setCapsuleId] = useState('');
|
51
|
+
const { initialContentSourceId } = urlParams;
|
52
|
+
const [contentSourceId, setCapsuleId] = useState(initialContentSourceId ?? '');
|
53
|
+
// if this matches, we'll trust you that initialContentSourceId is the host's content source
|
54
|
+
const showCVOnlyAlert = (contentHosts.length === 1 &&
|
55
|
+
hostsWithoutContent.length === 0 &&
|
56
|
+
!!initialContentSourceId &&
|
57
|
+
initialContentSourceId === contentSourceId
|
58
|
+
);
|
59
|
+
const hostDetailsPath = showCVOnlyAlert ? `new/hosts/${contentHosts[0].name}` : '';
|
60
|
+
const hostEditPath = urlParams.fromPage === 'hostEdit' ? foremanUrl(`/hosts/${contentHosts[0]?.name}/edit`) : '';
|
55
61
|
const [selectedEnvironment, setSelectedEnvironment] = useState([]);
|
56
62
|
const [contentViewName, setContentViewName] = useState('');
|
57
63
|
const [shouldShowTemplate, setShouldShowTemplate] = useState(false);
|
58
|
-
const [redirect, setRedirect] = useState(
|
64
|
+
const [redirect, setRedirect] = useState('');
|
59
65
|
|
60
66
|
const contentViewId = contentViews?.find(cv => cv.name === contentViewName)?.id;
|
61
67
|
const hostIds = useMemo(() => getHostIds(urlParams.host_id), [urlParams.host_id]);
|
62
68
|
const noHostSpecified = (hostIds.length === 0 && urlParams.searchParam === '');
|
63
69
|
const environmentId = selectedEnvironment[0]?.id;
|
64
70
|
|
65
|
-
const
|
66
|
-
|
67
|
-
|
68
|
-
if (shouldRedirect) {
|
69
|
-
redirectToJobInvocationForm();
|
71
|
+
const handleSuccess = ({ redirectTo = '' }) => {
|
72
|
+
if (redirectTo) {
|
73
|
+
setRedirect(redirectTo);
|
70
74
|
}
|
71
75
|
};
|
72
76
|
|
73
|
-
const handleSubmit = (e, {
|
77
|
+
const handleSubmit = (e, { redirectTo = '', showSuccessToast = false } = {}) => {
|
74
78
|
e.preventDefault();
|
75
79
|
|
76
80
|
dispatch(changeContentSource(
|
@@ -78,7 +82,8 @@ const ChangeContentSourcePage = () => {
|
|
78
82
|
contentViewId,
|
79
83
|
contentSourceId,
|
80
84
|
contentHosts.map(h => h.id),
|
81
|
-
() => handleSuccess({
|
85
|
+
() => handleSuccess({ redirectTo }),
|
86
|
+
showSuccessToast ? () => __('Host content view environment(s) updated') : undefined,
|
82
87
|
));
|
83
88
|
};
|
84
89
|
|
@@ -93,7 +98,7 @@ const ChangeContentSourcePage = () => {
|
|
93
98
|
};
|
94
99
|
|
95
100
|
const showTemplate = (e) => {
|
96
|
-
handleSubmit(e
|
101
|
+
handleSubmit(e);
|
97
102
|
setShouldShowTemplate(true);
|
98
103
|
};
|
99
104
|
|
@@ -122,8 +127,8 @@ const ChangeContentSourcePage = () => {
|
|
122
127
|
dispatch(getFormData(hostIds, urlParams.searchParam));
|
123
128
|
}, [dispatch, hostIds, urlParams.searchParam]);
|
124
129
|
|
125
|
-
if (redirect &&
|
126
|
-
window.location.assign(
|
130
|
+
if (redirect && redirect !== '') {
|
131
|
+
window.location.assign(redirect);
|
127
132
|
}
|
128
133
|
|
129
134
|
return (
|
@@ -165,7 +170,7 @@ const ChangeContentSourcePage = () => {
|
|
165
170
|
title={__('No hosts were specified')}
|
166
171
|
/>
|
167
172
|
</GridItem>
|
168
|
-
|
173
|
+
}
|
169
174
|
{ !noHostSpecified &&
|
170
175
|
<>
|
171
176
|
<Hosts
|
@@ -182,6 +187,9 @@ const ChangeContentSourcePage = () => {
|
|
182
187
|
contentViewName={contentViewName}
|
183
188
|
contentSources={contentSources}
|
184
189
|
contentSourceId={contentSourceId}
|
190
|
+
showCVOnlyAlert={showCVOnlyAlert}
|
191
|
+
hostDetailsPath={hostDetailsPath}
|
192
|
+
hostEditPath={hostEditPath}
|
185
193
|
handleContentSource={handleContentSource}
|
186
194
|
contentHosts={contentHosts}
|
187
195
|
isLoading={isLoading}
|
@@ -1,7 +1,10 @@
|
|
1
1
|
import React, { Component } from 'react';
|
2
2
|
import PropTypes from 'prop-types';
|
3
3
|
import { Grid, Col, Row, Tabs, Tab, FormControl, ControlLabel } from 'react-bootstrap';
|
4
|
+
import { FormattedMessage } from 'react-intl';
|
4
5
|
import { Button, Spinner } from 'patternfly-react';
|
6
|
+
import { Alert } from '@patternfly/react-core';
|
7
|
+
import { propsToCamelCase } from 'foremanReact/common/helpers';
|
5
8
|
import ForemanModal from 'foremanReact/components/ForemanModal';
|
6
9
|
import Slot from 'foremanReact/components/common/Slot';
|
7
10
|
import { translate as __ } from 'foremanReact/common/I18n';
|
@@ -92,22 +95,29 @@ class ManageManifestModal extends Component {
|
|
92
95
|
contentCredentials,
|
93
96
|
} = this.props;
|
94
97
|
|
98
|
+
const {
|
99
|
+
manifestExpiringSoon,
|
100
|
+
manifestExpired,
|
101
|
+
manifestExpirationDate,
|
102
|
+
manifestExpireDaysRemaining,
|
103
|
+
} = propsToCamelCase(organization);
|
104
|
+
|
95
105
|
const actionInProgress = (taskInProgress || manifestActionStarted);
|
96
106
|
const showCdnConfigurationTab = canEditOrganizations;
|
97
107
|
const showSubscriptionManifest = (canImportManifest || canDeleteManifest);
|
98
108
|
const showManifestTab = (canEditOrganizations || showSubscriptionManifest);
|
99
109
|
|
100
110
|
const emptyStateData = () => ({
|
101
|
-
header: __('There is no
|
102
|
-
description: __('Import a
|
111
|
+
header: __('There is no manifest history to display.'),
|
112
|
+
description: __('Import a manifest using the Manifest tab above.'),
|
103
113
|
documentation: {
|
104
|
-
label: __('Learn more about adding
|
114
|
+
label: __('Learn more about adding subscription manifests '),
|
105
115
|
url: 'https://access.redhat.com/solutions/3410771',
|
106
116
|
},
|
107
117
|
});
|
108
118
|
|
109
119
|
const getManifestName = () => {
|
110
|
-
let name = __('No
|
120
|
+
let name = __('No manifest imported');
|
111
121
|
|
112
122
|
if (
|
113
123
|
organization.owner_details &&
|
@@ -139,6 +149,46 @@ class ManageManifestModal extends Component {
|
|
139
149
|
<React.Fragment>
|
140
150
|
<Grid>
|
141
151
|
<h3>{__('Subscription Manifest')}</h3>
|
152
|
+
{manifestExpiringSoon &&
|
153
|
+
<Alert
|
154
|
+
ouiaId="manifest-expiring-soon-alert"
|
155
|
+
variant="warning"
|
156
|
+
title={__('Manifest expiring soon')}
|
157
|
+
>
|
158
|
+
<FormattedMessage
|
159
|
+
defaultMessage={__('Your manifest will expire in {daysMessage}. To extend the expiration date, refresh your manifest. Or, if your Foreman is disconnected, import a new manifest.')}
|
160
|
+
values={{
|
161
|
+
daysMessage: (
|
162
|
+
<FormattedMessage
|
163
|
+
defaultMessage="{daysRemaining, plural, one {{singular}} other {# {plural}}}"
|
164
|
+
values={{
|
165
|
+
daysRemaining: manifestExpireDaysRemaining,
|
166
|
+
singular: __('day'),
|
167
|
+
plural: __('days'),
|
168
|
+
}}
|
169
|
+
id="manage-manifest-expire-days-i18n"
|
170
|
+
/>
|
171
|
+
),
|
172
|
+
}}
|
173
|
+
id="manage-manifest-expire-i18n"
|
174
|
+
/>
|
175
|
+
</Alert>
|
176
|
+
}
|
177
|
+
{manifestExpired && isManifestImported &&
|
178
|
+
<Alert
|
179
|
+
ouiaId="manifest-expired-alert"
|
180
|
+
variant="danger"
|
181
|
+
title={__('Manifest expired')}
|
182
|
+
>
|
183
|
+
<FormattedMessage
|
184
|
+
defaultMessage={__('Your manifest expired on {expirationDate}. To continue using Red Hat content, import a new manifest.')}
|
185
|
+
values={{
|
186
|
+
expirationDate: new Date(manifestExpirationDate).toDateString(),
|
187
|
+
}}
|
188
|
+
id="manage-manifest-expired-i18n"
|
189
|
+
/>
|
190
|
+
</Alert>
|
191
|
+
}
|
142
192
|
<hr />
|
143
193
|
<Row>
|
144
194
|
<Col sm={5}>
|
@@ -148,13 +198,22 @@ class ManageManifestModal extends Component {
|
|
148
198
|
{getManifestName()}
|
149
199
|
</Col>
|
150
200
|
</Row>
|
201
|
+
{isManifestImported && manifestExpirationDate &&
|
202
|
+
<Row>
|
203
|
+
<Col sm={5} />
|
204
|
+
<Col sm={7}>
|
205
|
+
{manifestExpired ? __('Expired ') : __('Expires ')}
|
206
|
+
{new Date(manifestExpirationDate).toDateString()}
|
207
|
+
</Col>
|
208
|
+
</Row>
|
209
|
+
}
|
151
210
|
<Row>
|
152
211
|
<Col sm={5}>
|
153
212
|
{canImportManifest &&
|
154
213
|
<ControlLabel
|
155
214
|
style={{ paddingTop: '10px' }}
|
156
215
|
>
|
157
|
-
<div>{__('Import
|
216
|
+
<div>{__('Import new manifest')}</div>
|
158
217
|
</ControlLabel>
|
159
218
|
}
|
160
219
|
</Col>
|
@@ -222,19 +222,22 @@ class UpstreamSubscriptionsPage extends Component {
|
|
222
222
|
|
223
223
|
return (
|
224
224
|
<Grid bsClass="container-fluid">
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
{
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
225
|
+
{!upstreamSubscriptions.loading &&
|
226
|
+
<div style={{ marginBottom: '10px' }}>
|
227
|
+
<BreadcrumbsBar
|
228
|
+
isLoadingResources={upstreamSubscriptions.loading}
|
229
|
+
breadcrumbItems={[
|
230
|
+
{
|
231
|
+
caption: __('Subscriptions'),
|
232
|
+
url: '/subscriptions/',
|
233
|
+
},
|
234
|
+
{
|
235
|
+
caption: String(__('Add Subscriptions')),
|
236
|
+
},
|
237
|
+
]}
|
238
|
+
/>
|
239
|
+
</div>
|
240
|
+
}
|
238
241
|
|
239
242
|
<LoadingState loading={upstreamSubscriptions.loading} loadingText={__('Loading')}>
|
240
243
|
<Row>
|
@@ -6,22 +6,28 @@ exports[`upstream subscriptions page should render 1`] = `
|
|
6
6
|
componentClass="div"
|
7
7
|
fluid={false}
|
8
8
|
>
|
9
|
-
<
|
10
|
-
|
9
|
+
<div
|
10
|
+
style={
|
11
11
|
Object {
|
12
|
-
"
|
12
|
+
"marginBottom": "10px",
|
13
|
+
}
|
14
|
+
}
|
15
|
+
>
|
16
|
+
<BreadcrumbsBar
|
17
|
+
breadcrumbItems={
|
18
|
+
Array [
|
13
19
|
Object {
|
14
20
|
"caption": "Subscriptions",
|
15
|
-
"
|
21
|
+
"url": "/subscriptions/",
|
16
22
|
},
|
17
23
|
Object {
|
18
24
|
"caption": "Add Subscriptions",
|
19
25
|
},
|
20
|
-
]
|
21
|
-
"isSwitchable": false,
|
26
|
+
]
|
22
27
|
}
|
23
|
-
|
24
|
-
|
28
|
+
isLoadingResources={false}
|
29
|
+
/>
|
30
|
+
</div>
|
25
31
|
<LoadingState
|
26
32
|
loading={false}
|
27
33
|
loadingText="Loading"
|
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.
|
4
|
+
version: 4.13.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- N/A
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -254,174 +254,180 @@ dependencies:
|
|
254
254
|
requirements:
|
255
255
|
- - ">="
|
256
256
|
- !ruby/object:Gem::Version
|
257
|
-
version: 3.
|
257
|
+
version: 3.49.1
|
258
258
|
- - "<"
|
259
259
|
- !ruby/object:Gem::Version
|
260
|
-
version: 3.
|
260
|
+
version: 3.50.0
|
261
261
|
type: :runtime
|
262
262
|
prerelease: false
|
263
263
|
version_requirements: !ruby/object:Gem::Requirement
|
264
264
|
requirements:
|
265
265
|
- - ">="
|
266
266
|
- !ruby/object:Gem::Version
|
267
|
-
version: 3.
|
267
|
+
version: 3.49.1
|
268
268
|
- - "<"
|
269
269
|
- !ruby/object:Gem::Version
|
270
|
-
version: 3.
|
270
|
+
version: 3.50.0
|
271
271
|
- !ruby/object:Gem::Dependency
|
272
272
|
name: pulp_file_client
|
273
273
|
requirement: !ruby/object:Gem::Requirement
|
274
274
|
requirements:
|
275
275
|
- - ">="
|
276
276
|
- !ruby/object:Gem::Version
|
277
|
-
version:
|
277
|
+
version: 3.49.1
|
278
278
|
- - "<"
|
279
279
|
- !ruby/object:Gem::Version
|
280
|
-
version:
|
280
|
+
version: 3.50.0
|
281
281
|
type: :runtime
|
282
282
|
prerelease: false
|
283
283
|
version_requirements: !ruby/object:Gem::Requirement
|
284
284
|
requirements:
|
285
285
|
- - ">="
|
286
286
|
- !ruby/object:Gem::Version
|
287
|
-
version:
|
287
|
+
version: 3.49.1
|
288
288
|
- - "<"
|
289
289
|
- !ruby/object:Gem::Version
|
290
|
-
version:
|
290
|
+
version: 3.50.0
|
291
291
|
- !ruby/object:Gem::Dependency
|
292
292
|
name: pulp_ansible_client
|
293
293
|
requirement: !ruby/object:Gem::Requirement
|
294
294
|
requirements:
|
295
295
|
- - ">="
|
296
296
|
- !ruby/object:Gem::Version
|
297
|
-
version: 0.
|
297
|
+
version: 0.21.3
|
298
298
|
- - "<"
|
299
299
|
- !ruby/object:Gem::Version
|
300
|
-
version: 0.
|
300
|
+
version: 0.22.0
|
301
301
|
type: :runtime
|
302
302
|
prerelease: false
|
303
303
|
version_requirements: !ruby/object:Gem::Requirement
|
304
304
|
requirements:
|
305
305
|
- - ">="
|
306
306
|
- !ruby/object:Gem::Version
|
307
|
-
version: 0.
|
307
|
+
version: 0.21.3
|
308
308
|
- - "<"
|
309
309
|
- !ruby/object:Gem::Version
|
310
|
-
version: 0.
|
310
|
+
version: 0.22.0
|
311
311
|
- !ruby/object:Gem::Dependency
|
312
312
|
name: pulp_container_client
|
313
313
|
requirement: !ruby/object:Gem::Requirement
|
314
314
|
requirements:
|
315
315
|
- - ">="
|
316
316
|
- !ruby/object:Gem::Version
|
317
|
-
version: 2.
|
317
|
+
version: 2.20.0
|
318
318
|
- - "<"
|
319
319
|
- !ruby/object:Gem::Version
|
320
|
-
version: 2.
|
320
|
+
version: 2.21.0
|
321
321
|
type: :runtime
|
322
322
|
prerelease: false
|
323
323
|
version_requirements: !ruby/object:Gem::Requirement
|
324
324
|
requirements:
|
325
325
|
- - ">="
|
326
326
|
- !ruby/object:Gem::Version
|
327
|
-
version: 2.
|
327
|
+
version: 2.20.0
|
328
328
|
- - "<"
|
329
329
|
- !ruby/object:Gem::Version
|
330
|
-
version: 2.
|
330
|
+
version: 2.21.0
|
331
331
|
- !ruby/object:Gem::Dependency
|
332
332
|
name: pulp_deb_client
|
333
333
|
requirement: !ruby/object:Gem::Requirement
|
334
334
|
requirements:
|
335
335
|
- - ">="
|
336
336
|
- !ruby/object:Gem::Version
|
337
|
-
version: 3.
|
337
|
+
version: 3.2.0
|
338
338
|
- - "<"
|
339
339
|
- !ruby/object:Gem::Version
|
340
|
-
version: 3.
|
340
|
+
version: 3.3.0
|
341
341
|
type: :runtime
|
342
342
|
prerelease: false
|
343
343
|
version_requirements: !ruby/object:Gem::Requirement
|
344
344
|
requirements:
|
345
345
|
- - ">="
|
346
346
|
- !ruby/object:Gem::Version
|
347
|
-
version: 3.
|
347
|
+
version: 3.2.0
|
348
348
|
- - "<"
|
349
349
|
- !ruby/object:Gem::Version
|
350
|
-
version: 3.
|
350
|
+
version: 3.3.0
|
351
351
|
- !ruby/object:Gem::Dependency
|
352
352
|
name: pulp_rpm_client
|
353
353
|
requirement: !ruby/object:Gem::Requirement
|
354
354
|
requirements:
|
355
355
|
- - ">="
|
356
356
|
- !ruby/object:Gem::Version
|
357
|
-
version: 3.
|
357
|
+
version: 3.25.2
|
358
358
|
- - "<"
|
359
359
|
- !ruby/object:Gem::Version
|
360
|
-
version: 3.
|
360
|
+
version: 3.26.0
|
361
361
|
type: :runtime
|
362
362
|
prerelease: false
|
363
363
|
version_requirements: !ruby/object:Gem::Requirement
|
364
364
|
requirements:
|
365
365
|
- - ">="
|
366
366
|
- !ruby/object:Gem::Version
|
367
|
-
version: 3.
|
367
|
+
version: 3.25.2
|
368
368
|
- - "<"
|
369
369
|
- !ruby/object:Gem::Version
|
370
|
-
version: 3.
|
370
|
+
version: 3.26.0
|
371
371
|
- !ruby/object:Gem::Dependency
|
372
372
|
name: pulp_certguard_client
|
373
373
|
requirement: !ruby/object:Gem::Requirement
|
374
374
|
requirements:
|
375
|
+
- - ">="
|
376
|
+
- !ruby/object:Gem::Version
|
377
|
+
version: 3.49.1
|
375
378
|
- - "<"
|
376
379
|
- !ruby/object:Gem::Version
|
377
|
-
version:
|
380
|
+
version: 3.50.0
|
378
381
|
type: :runtime
|
379
382
|
prerelease: false
|
380
383
|
version_requirements: !ruby/object:Gem::Requirement
|
381
384
|
requirements:
|
385
|
+
- - ">="
|
386
|
+
- !ruby/object:Gem::Version
|
387
|
+
version: 3.49.1
|
382
388
|
- - "<"
|
383
389
|
- !ruby/object:Gem::Version
|
384
|
-
version:
|
390
|
+
version: 3.50.0
|
385
391
|
- !ruby/object:Gem::Dependency
|
386
392
|
name: pulp_python_client
|
387
393
|
requirement: !ruby/object:Gem::Requirement
|
388
394
|
requirements:
|
389
395
|
- - ">="
|
390
396
|
- !ruby/object:Gem::Version
|
391
|
-
version: 3.
|
397
|
+
version: 3.11.0
|
392
398
|
- - "<"
|
393
399
|
- !ruby/object:Gem::Version
|
394
|
-
version: 3.
|
400
|
+
version: 3.12.0
|
395
401
|
type: :runtime
|
396
402
|
prerelease: false
|
397
403
|
version_requirements: !ruby/object:Gem::Requirement
|
398
404
|
requirements:
|
399
405
|
- - ">="
|
400
406
|
- !ruby/object:Gem::Version
|
401
|
-
version: 3.
|
407
|
+
version: 3.11.0
|
402
408
|
- - "<"
|
403
409
|
- !ruby/object:Gem::Version
|
404
|
-
version: 3.
|
410
|
+
version: 3.12.0
|
405
411
|
- !ruby/object:Gem::Dependency
|
406
412
|
name: pulp_ostree_client
|
407
413
|
requirement: !ruby/object:Gem::Requirement
|
408
414
|
requirements:
|
409
415
|
- - ">="
|
410
416
|
- !ruby/object:Gem::Version
|
411
|
-
version: 2.
|
417
|
+
version: 2.3.0
|
412
418
|
- - "<"
|
413
419
|
- !ruby/object:Gem::Version
|
414
|
-
version: 2.
|
420
|
+
version: 2.4.0
|
415
421
|
type: :runtime
|
416
422
|
prerelease: false
|
417
423
|
version_requirements: !ruby/object:Gem::Requirement
|
418
424
|
requirements:
|
419
425
|
- - ">="
|
420
426
|
- !ruby/object:Gem::Version
|
421
|
-
version: 2.
|
427
|
+
version: 2.3.0
|
422
428
|
- - "<"
|
423
429
|
- !ruby/object:Gem::Version
|
424
|
-
version: 2.
|
430
|
+
version: 2.4.0
|
425
431
|
- !ruby/object:Gem::Dependency
|
426
432
|
name: deface
|
427
433
|
requirement: !ruby/object:Gem::Requirement
|
@@ -535,7 +541,6 @@ files:
|
|
535
541
|
- app/assets/javascripts/katello/common/spin.min.js
|
536
542
|
- app/assets/javascripts/katello/common/vendor.js
|
537
543
|
- app/assets/javascripts/katello/containers/container.js
|
538
|
-
- app/assets/javascripts/katello/hosts/activation_key_edit.js
|
539
544
|
- app/assets/javascripts/katello/hosts/host_and_hostgroup_edit.js
|
540
545
|
- app/assets/javascripts/katello/html5/excanvas.js
|
541
546
|
- app/assets/javascripts/katello/html5/html5.js
|
@@ -713,6 +718,7 @@ files:
|
|
713
718
|
- app/helpers/katello/translation_helper.rb
|
714
719
|
- app/jobs/create_expired_manifest_notifications.rb
|
715
720
|
- app/jobs/create_host_lifecycle_expire_soon_notifications.rb
|
721
|
+
- app/jobs/create_manifest_expire_soon_warning_notifications.rb
|
716
722
|
- app/jobs/create_pulp_disk_space_notifications.rb
|
717
723
|
- app/jobs/send_expire_soon_notifications.rb
|
718
724
|
- app/lib/actions/abstract_async_task.rb
|
@@ -734,6 +740,7 @@ files:
|
|
734
740
|
- app/lib/actions/candlepin/owner/destroy_imports.rb
|
735
741
|
- app/lib/actions/candlepin/owner/import.rb
|
736
742
|
- app/lib/actions/candlepin/owner/import_products.rb
|
743
|
+
- app/lib/actions/candlepin/owner/regenerate_upstream_identity_cert.rb
|
737
744
|
- app/lib/actions/candlepin/owner/retrieve_upstream_export.rb
|
738
745
|
- app/lib/actions/candlepin/owner/start_upstream_export.rb
|
739
746
|
- app/lib/actions/candlepin/owner/upstream_update.rb
|
@@ -769,6 +776,7 @@ files:
|
|
769
776
|
- app/lib/actions/katello/capsule_content/sync.rb
|
770
777
|
- app/lib/actions/katello/capsule_content/sync_capsule.rb
|
771
778
|
- app/lib/actions/katello/capsule_content/update_content_counts.rb
|
779
|
+
- app/lib/actions/katello/capsule_content/verify_checksum.rb
|
772
780
|
- app/lib/actions/katello/cdn_configuration/update.rb
|
773
781
|
- app/lib/actions/katello/check_matching_content.rb
|
774
782
|
- app/lib/actions/katello/content_credential/update.rb
|
@@ -802,6 +810,7 @@ files:
|
|
802
810
|
- app/lib/actions/katello/content_view_version/incremental_update.rb
|
803
811
|
- app/lib/actions/katello/content_view_version/republish_repositories.rb
|
804
812
|
- app/lib/actions/katello/content_view_version/reset_content_view_repositories_from_metadata.rb
|
813
|
+
- app/lib/actions/katello/content_view_version/verify_checksum.rb
|
805
814
|
- app/lib/actions/katello/environment/destroy.rb
|
806
815
|
- app/lib/actions/katello/environment/publish_repositories.rb
|
807
816
|
- app/lib/actions/katello/foreman/abstract.rb
|
@@ -818,8 +827,6 @@ files:
|
|
818
827
|
- app/lib/actions/katello/host/update_content_view.rb
|
819
828
|
- app/lib/actions/katello/host/update_release_version.rb
|
820
829
|
- app/lib/actions/katello/host/update_system_purpose.rb
|
821
|
-
- app/lib/actions/katello/host/upload_package_profile.rb
|
822
|
-
- app/lib/actions/katello/host/upload_profiles.rb
|
823
830
|
- app/lib/actions/katello/jail_concern/content_view.rb
|
824
831
|
- app/lib/actions/katello/jail_concern/organization.rb
|
825
832
|
- app/lib/actions/katello/organization/destroy.rb
|
@@ -914,6 +921,7 @@ files:
|
|
914
921
|
- app/lib/actions/pulp3/capsule_content/reclaim_space.rb
|
915
922
|
- app/lib/actions/pulp3/capsule_content/refresh_distribution.rb
|
916
923
|
- app/lib/actions/pulp3/capsule_content/sync.rb
|
924
|
+
- app/lib/actions/pulp3/capsule_content/verify_checksum.rb
|
917
925
|
- app/lib/actions/pulp3/content_guard/refresh.rb
|
918
926
|
- app/lib/actions/pulp3/content_guard/refresh_all_distributions.rb
|
919
927
|
- app/lib/actions/pulp3/content_view/delete_repository_references.rb
|
@@ -1386,6 +1394,7 @@ files:
|
|
1386
1394
|
- app/services/katello/ui_notifications/subscriptions/expire_soon.rb
|
1387
1395
|
- app/services/katello/ui_notifications/subscriptions/manifest_delete_error.rb
|
1388
1396
|
- app/services/katello/ui_notifications/subscriptions/manifest_delete_success.rb
|
1397
|
+
- app/services/katello/ui_notifications/subscriptions/manifest_expire_soon_warning.rb
|
1389
1398
|
- app/services/katello/ui_notifications/subscriptions/manifest_expired_warning.rb
|
1390
1399
|
- app/services/katello/ui_notifications/subscriptions/manifest_import_error.rb
|
1391
1400
|
- app/services/katello/ui_notifications/subscriptions/manifest_import_success.rb
|
@@ -1430,6 +1439,7 @@ files:
|
|
1430
1439
|
- app/views/foreman/job_templates/update_package_-_katello_ansible_default.erb
|
1431
1440
|
- app/views/foreman/job_templates/update_packages_by_search_query.erb
|
1432
1441
|
- app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb
|
1442
|
+
- app/views/foreman/job_templates/upload_profile.erb
|
1433
1443
|
- app/views/foreman/smart_proxies/_content_sync.html.erb
|
1434
1444
|
- app/views/foreman/smart_proxies/_content_tab.html.erb
|
1435
1445
|
- app/views/foreman/smart_proxies/_reclaim_space.html.erb
|
@@ -2046,6 +2056,8 @@ files:
|
|
2046
2056
|
- db/migrate/20240122150431_remove_content_counts_index.rb
|
2047
2057
|
- db/migrate/20240123120109_remove_pulp_export_destination_setting.rb
|
2048
2058
|
- db/migrate/20240207191223_remove_entitlement_mode_host_statuses.rb
|
2059
|
+
- db/migrate/20240423112842_add_fields_to_katello_docker_manifest.rb
|
2060
|
+
- db/migrate/20240502192021_change_katello_repository_rpms_id_seq_to_big_int.rb
|
2049
2061
|
- db/seeds.d/101-locations.rb
|
2050
2062
|
- db/seeds.d/102-organizations.rb
|
2051
2063
|
- db/seeds.d/104-proxy.rb
|
@@ -4503,6 +4515,7 @@ files:
|
|
4503
4515
|
- vendor/assets/stylesheets/katello/jquery.multiselect.css
|
4504
4516
|
- vendor/assets/stylesheets/katello/jquery.multiselect.filter.css
|
4505
4517
|
- vendor/assets/stylesheets/katello/jquery.treeTable.css.scss
|
4518
|
+
- webpack/ForemanColumnExtensions/index.js
|
4506
4519
|
- webpack/__mocks__/foremanJS/foreman_toast_notifications.js
|
4507
4520
|
- webpack/__mocks__/foremanReact/Root/Context/ForemanContext.js
|
4508
4521
|
- webpack/__mocks__/foremanReact/common/urlHelpers.js
|
@@ -4515,6 +4528,8 @@ files:
|
|
4515
4528
|
- webpack/__mocks__/react-intl/locale-data/en.js
|
4516
4529
|
- webpack/common_index.js
|
4517
4530
|
- webpack/components/ActionableDetail.js
|
4531
|
+
- webpack/components/ActivationKeysSearch/ActivationKeysSearch.test.js
|
4532
|
+
- webpack/components/ActivationKeysSearch/index.js
|
4518
4533
|
- webpack/components/AddedStatusLabel.js
|
4519
4534
|
- webpack/components/Bookmark/AddBookmarkModal.js
|
4520
4535
|
- webpack/components/Bookmark/Bookmark.scss
|
@@ -4705,6 +4720,10 @@ files:
|
|
4705
4720
|
- webpack/components/extensions/HostDetails/Tabs/customizedRexUrlHelpers.js
|
4706
4721
|
- webpack/components/extensions/HostDetails/hostDetailsHelpers.js
|
4707
4722
|
- webpack/components/extensions/Hosts/ActionsBar/index.js
|
4723
|
+
- webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCVModal/BulkChangeHostCVModal.js
|
4724
|
+
- webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCVModal/actions.js
|
4725
|
+
- webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCVModal/index.js
|
4726
|
+
- webpack/components/extensions/Hosts/BulkActions/__tests__/bulkChangeHostCVModal.test.js
|
4708
4727
|
- webpack/components/extensions/Hosts/constants.js
|
4709
4728
|
- webpack/components/extensions/RegistrationCommands/RegistrationCommandsPageConstants.js
|
4710
4729
|
- webpack/components/extensions/RegistrationCommands/RegistrationCommandsPageHelpers.js
|
@@ -5398,11 +5417,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
5398
5417
|
version: '4'
|
5399
5418
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
5400
5419
|
requirements:
|
5401
|
-
- - "
|
5420
|
+
- - ">"
|
5402
5421
|
- !ruby/object:Gem::Version
|
5403
|
-
version:
|
5422
|
+
version: 1.3.1
|
5404
5423
|
requirements: []
|
5405
|
-
rubygems_version: 3.4.
|
5424
|
+
rubygems_version: 3.4.19
|
5406
5425
|
signing_key:
|
5407
5426
|
specification_version: 4
|
5408
5427
|
summary: Content and Subscription Management plugin for Foreman
|