katello 4.11.1 → 4.12.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/app/assets/javascripts/katello/common/katello.global.js +1 -1
- data/app/assets/javascripts/katello/locale/bn/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/ca/katello.js +80 -86
- data/app/assets/javascripts/katello/locale/cs/katello.js +79 -85
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +91 -88
- data/app/assets/javascripts/katello/locale/de/katello.js +97 -94
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/el/katello.js +86 -86
- data/app/assets/javascripts/katello/locale/en/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +88 -85
- data/app/assets/javascripts/katello/locale/en_US/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/es/katello.js +94 -94
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/fr/katello.js +97 -94
- data/app/assets/javascripts/katello/locale/gl/katello.js +80 -86
- data/app/assets/javascripts/katello/locale/gu/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/hi/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/id/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/it/katello.js +89 -86
- data/app/assets/javascripts/katello/locale/ja/katello.js +97 -94
- data/app/assets/javascripts/katello/locale/ka/katello.js +92 -92
- data/app/assets/javascripts/katello/locale/kn/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/ko/katello.js +91 -94
- data/app/assets/javascripts/katello/locale/locale/katello.js +1051 -1048
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/mr/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/or/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/pa/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/pl/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/pt/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +94 -94
- data/app/assets/javascripts/katello/locale/ro/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/ru/katello.js +91 -94
- data/app/assets/javascripts/katello/locale/sl/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +80 -86
- data/app/assets/javascripts/katello/locale/ta/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/te/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/tr/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/vi/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/zh/katello.js +76 -85
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +97 -94
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +91 -94
- data/app/assets/javascripts/katello/sync_management/index.js +0 -1
- data/app/assets/javascripts/katello/sync_management/sync_management.js +365 -308
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -0
- data/app/controllers/katello/api/v2/debs_controller.rb +4 -0
- data/app/controllers/katello/api/v2/host_debs_controller.rb +13 -1
- data/app/controllers/katello/api/v2/organizations_controller.rb +1 -3
- data/app/controllers/katello/api/v2/repositories_controller.rb +2 -8
- data/app/controllers/katello/concerns/api/v2/registration_commands_controller_extensions.rb +0 -1
- data/app/controllers/katello/concerns/hosts_controller_extensions.rb +7 -3
- data/app/controllers/katello/concerns/organizations_controller_extensions.rb +1 -17
- data/app/helpers/katello/concerns/dashboard_helper_extensions.rb +0 -20
- data/app/lib/actions/katello/content_view/publish.rb +3 -3
- data/app/lib/actions/katello/content_view_version/auto_create_products.rb +4 -4
- data/app/lib/actions/katello/content_view_version/auto_create_redhat_repositories.rb +5 -5
- data/app/lib/actions/katello/content_view_version/auto_create_repositories.rb +5 -5
- data/app/lib/actions/katello/content_view_version/import.rb +14 -13
- data/app/lib/actions/katello/content_view_version/import_library.rb +4 -4
- data/app/lib/actions/katello/content_view_version/import_repository.rb +3 -3
- data/app/lib/actions/katello/content_view_version/reset_content_view_repositories_from_metadata.rb +2 -2
- data/app/lib/actions/katello/host/hypervisors_update.rb +0 -1
- data/app/lib/actions/katello/organization/manifest_delete.rb +1 -1
- data/app/lib/actions/katello/organization/manifest_refresh.rb +16 -16
- data/app/lib/actions/katello/repository/sync.rb +2 -4
- data/app/lib/actions/pulp3/orchestration/content_view_version/export.rb +20 -15
- data/app/lib/actions/pulp3/orchestration/content_view_version/export_library.rb +17 -14
- data/app/lib/actions/pulp3/orchestration/content_view_version/import.rb +11 -11
- data/app/lib/actions/pulp3/orchestration/repository/upload_content.rb +18 -13
- data/app/lib/actions/pulp3/repository/import_upload.rb +13 -5
- data/app/lib/actions/pulp3/repository/save_artifact.rb +23 -12
- data/app/lib/katello/api/v2/error_handling.rb +1 -1
- data/app/lib/katello/lazy_accessor.rb +6 -6
- data/app/lib/katello/resources/candlepin/owner.rb +2 -2
- data/app/mailers/katello/errata_mailer.rb +3 -3
- data/app/models/katello/concerns/host_managed_extensions.rb +29 -76
- data/app/models/katello/concerns/hostgroup_extensions.rb +4 -2
- data/app/models/katello/concerns/organization_extensions.rb +1 -1
- data/app/models/katello/concerns/pulp_database_unit.rb +1 -1
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +0 -27
- data/app/models/katello/content_view.rb +11 -6
- data/app/models/katello/content_view_version.rb +2 -0
- data/app/models/katello/deb.rb +8 -0
- data/app/models/katello/host/content_facet.rb +19 -14
- data/app/models/katello/host/subscription_facet.rb +0 -19
- data/app/models/katello/host_tracer.rb +9 -5
- data/app/models/katello/installed_deb.rb +1 -0
- data/app/models/katello/repository.rb +3 -2
- data/app/models/katello/trace_status.rb +6 -2
- data/app/overrides/add_organization_attributes.rb +0 -18
- data/app/presenters/katello/host_deb_presenter.rb +23 -0
- data/app/services/katello/candlepin/consumer.rb +0 -4
- data/app/services/katello/candlepin/event_handler.rb +6 -25
- data/app/services/katello/candlepin/message_handler.rb +1 -21
- data/app/services/katello/host/profiles_uploader.rb +17 -6
- data/app/services/katello/host_status_manager.rb +0 -22
- data/app/services/katello/organization_creator.rb +2 -2
- data/app/services/katello/pulp3/api/apt.rb +1 -1
- data/app/services/katello/pulp3/content_view_version/export.rb +2 -2
- data/app/services/katello/pulp3/content_view_version/metadata_generator.rb +1 -0
- data/app/services/katello/pulp3/content_view_version/metadata_map.rb +3 -0
- data/app/services/katello/pulp3/repository/apt.rb +16 -6
- data/app/services/katello/registration_manager.rb +1 -13
- data/app/views/katello/api/v2/host_debs/base.json.rabl +2 -0
- data/app/views/katello/api/v2/hosts/base.json.rabl +9 -0
- data/app/views/katello/api/v2/subscription_facet/base_with_root.json.rabl +0 -3
- data/app/views/katello/api/v2/subscription_facet/show.json.rabl +3 -0
- data/app/views/katello/sync_management/index.html.erb +14 -13
- data/app/views/overrides/activation_keys/_host_environment_select.html.erb +20 -16
- data/app/views/overrides/activation_keys/_host_synced_content_select.html.erb +6 -4
- data/app/views/overrides/organizations/_edit_override.html.erb +0 -12
- data/db/migrate/20131014225132_add_users_fields.rb +0 -1
- data/db/migrate/20150603045418_remove_user_fields.rb +0 -2
- data/db/migrate/20160404132250_remove_katello_from_notification_name.rb +4 -22
- data/db/migrate/20160505181337_rename_katello_settings.rb +2 -2
- data/db/migrate/20200818192230_update_system_purpose_status.rb +9 -3
- data/db/migrate/20240111032511_add_index_to_host_installed_packages.rb +16 -0
- data/db/migrate/20240123120109_remove_pulp_export_destination_setting.rb +9 -0
- data/db/migrate/20240207191223_remove_entitlement_mode_host_statuses.rb +30 -0
- data/db/seeds.d/111-upgrade_tasks.rb +2 -1
- data/engines/bastion/app/assets/javascripts/bastion/bastion.js +0 -2
- data/engines/bastion/app/views/bastion/layouts/assets.html.erb +6 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-associations-content-hosts.html +0 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-details.html +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +45 -29
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts-helper.service.js +0 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions.html +0 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +0 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +5 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +9 -1
- data/engines/bastion_katello/lib/bastion_katello/engine.rb +0 -6
- data/lib/katello/engine.rb +0 -3
- data/lib/katello/plugin.rb +2 -11
- data/lib/katello/tasks/rubocop.rake +0 -9
- data/lib/katello/tasks/unify_hosts.rake +0 -1
- data/lib/katello/tasks/upgrades/4.12/update_content_access_modes.rake +35 -0
- data/lib/katello/version.rb +1 -1
- data/locale/action_names.rb +12 -6
- data/locale/bn/katello.po +19 -28
- data/locale/bn/katello.po.time_stamp +0 -0
- data/locale/bn/katello.pox +0 -0
- data/locale/bn_IN/katello.po +19 -28
- data/locale/bn_IN/katello.po.time_stamp +0 -0
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/katello.po +20 -29
- data/locale/ca/katello.po.time_stamp +0 -0
- data/locale/cs/katello.po +19 -29
- data/locale/cs/katello.po.time_stamp +0 -0
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +20 -29
- data/locale/cs_CZ/katello.po.time_stamp +0 -0
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +20 -29
- data/locale/de/katello.po.time_stamp +0 -0
- data/locale/de_AT/katello.po +19 -28
- data/locale/de_AT/katello.po.time_stamp +0 -0
- data/locale/de_DE/katello.po +19 -28
- data/locale/de_DE/katello.po.time_stamp +0 -0
- data/locale/el/LC_MESSAGES/katello.mo +0 -0
- data/locale/el/katello.po +20 -29
- data/locale/el/katello.po.time_stamp +0 -0
- data/locale/en/katello.po +19 -28
- data/locale/en/katello.po.time_stamp +0 -0
- data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_GB/katello.po +19 -28
- data/locale/en_GB/katello.po.time_stamp +0 -0
- data/locale/en_US/katello.po +19 -28
- data/locale/en_US/katello.po.time_stamp +0 -0
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +20 -29
- data/locale/es/katello.po.time_stamp +0 -0
- data/locale/et_EE/katello.po +19 -28
- data/locale/et_EE/katello.po.time_stamp +0 -0
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +20 -29
- data/locale/fr/katello.po.time_stamp +0 -0
- data/locale/gl/LC_MESSAGES/katello.mo +0 -0
- data/locale/gl/katello.po +20 -29
- data/locale/gl/katello.po.time_stamp +0 -0
- data/locale/gu/katello.po +19 -28
- data/locale/gu/katello.po.time_stamp +0 -0
- data/locale/he_IL/katello.po +19 -28
- data/locale/he_IL/katello.po.time_stamp +0 -0
- data/locale/hi/katello.po +19 -28
- data/locale/hi/katello.po.time_stamp +0 -0
- data/locale/id/katello.po +19 -28
- data/locale/id/katello.po.time_stamp +0 -0
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +20 -29
- data/locale/it/katello.po.time_stamp +0 -0
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +20 -29
- data/locale/ja/katello.po.time_stamp +0 -0
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/katello.po +20 -29
- data/locale/ka/katello.po.time_stamp +0 -0
- data/locale/katello.pot +363 -348
- data/locale/kn/katello.po +19 -28
- data/locale/kn/katello.po.time_stamp +0 -0
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +20 -29
- data/locale/ko/katello.po.time_stamp +0 -0
- data/locale/messages.mo +0 -0
- data/locale/ml_IN/katello.po +19 -28
- data/locale/ml_IN/katello.po.time_stamp +0 -0
- data/locale/mr/katello.po +19 -28
- data/locale/mr/katello.po.time_stamp +0 -0
- data/locale/nl_NL/katello.po +19 -28
- data/locale/nl_NL/katello.po.time_stamp +0 -0
- data/locale/or/katello.po +19 -28
- data/locale/or/katello.po.time_stamp +0 -0
- data/locale/pa/katello.po +19 -28
- data/locale/pa/katello.po.time_stamp +0 -0
- data/locale/pl/katello.po +19 -28
- data/locale/pl/katello.po.time_stamp +0 -0
- data/locale/pl_PL/katello.po +19 -28
- data/locale/pl_PL/katello.po.time_stamp +0 -0
- data/locale/pt/katello.po +19 -28
- data/locale/pt/katello.po.time_stamp +0 -0
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +20 -29
- data/locale/pt_BR/katello.po.time_stamp +0 -0
- data/locale/ro/katello.po +19 -28
- data/locale/ro/katello.po.time_stamp +0 -0
- data/locale/ro_RO/katello.po +19 -28
- data/locale/ro_RO/katello.po.time_stamp +0 -0
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +20 -29
- data/locale/ru/katello.po.time_stamp +0 -0
- data/locale/sl/katello.po +19 -28
- data/locale/sl/katello.po.time_stamp +0 -0
- data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
- data/locale/sv_SE/katello.po +20 -29
- data/locale/sv_SE/katello.po.time_stamp +0 -0
- data/locale/ta/katello.po +19 -28
- data/locale/ta/katello.po.time_stamp +0 -0
- data/locale/ta_IN/katello.po +19 -28
- data/locale/ta_IN/katello.po.time_stamp +0 -0
- data/locale/te/katello.po +19 -28
- data/locale/te/katello.po.time_stamp +0 -0
- data/locale/tr/katello.po +19 -28
- data/locale/tr/katello.po.time_stamp +0 -0
- data/locale/vi/katello.po +19 -28
- data/locale/vi/katello.po.time_stamp +0 -0
- data/locale/vi_VN/katello.po +19 -28
- data/locale/vi_VN/katello.po.time_stamp +0 -0
- data/locale/zh/katello.po +19 -28
- data/locale/zh/katello.po.time_stamp +0 -0
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +20 -29
- data/locale/zh_CN/katello.po.time_stamp +0 -0
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +20 -29
- data/locale/zh_TW/katello.po.time_stamp +0 -0
- data/package.json +0 -1
- data/webpack/components/extensions/HostDetails/Tabs/ContentTab/SecondaryTabsRoutes.js +4 -0
- data/webpack/components/extensions/HostDetails/Tabs/ContentTab/constants.js +4 -1
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.js +250 -0
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.scss +3 -0
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.js +585 -0
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.scss +12 -0
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/HostDebsActions.js +13 -0
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/HostDebsConstants.js +13 -0
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/HostDebsSelectors.js +16 -0
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/InstallableDebsActions.js +17 -0
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/InstallableDebsConstants.js +3 -0
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/InstallableDebsSelectors.js +16 -0
- data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +1 -8
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +2 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +4 -18
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesTab.js +13 -5
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/debs.fixtures.json +31 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/debsInstallModal.test.js +226 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/debsTab.test.js +420 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/installableDebs.fixtures.json +63 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/traces.fixtures.json +11 -1
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +63 -3
- data/webpack/scenes/ContentViews/ContentViewsConstants.js +3 -0
- data/webpack/scenes/ContentViews/Delete/__tests__/affectedHosts.fixtures.json +0 -13
- data/webpack/scenes/ContentViews/Details/ContentViewDetailActions.js +23 -1
- data/webpack/scenes/ContentViews/Details/ContentViewDetailSelectors.js +19 -1
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/hosts.fixtures.json +0 -13
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareConfig.js +37 -3
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionContent.js +10 -2
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvAffectedHosts.fixture.json +0 -13
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailConfig.js +31 -5
- data/webpack/scenes/Organizations/OrganizationSelectors.js +0 -3
- data/webpack/scenes/Subscriptions/Manifest/index.js +1 -4
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +3 -25
- data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +0 -3
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsSelectors.test.js +0 -3
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +0 -22
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsSelectors.test.js.snap +0 -3
- data/webpack/scenes/Subscriptions/index.js +1 -2
- metadata +93 -190
- data/app/controllers/katello/concerns/content_facet_hosts_controller_extensions.rb +0 -22
- data/app/models/katello/concerns/widget_extensions.rb +0 -23
- data/app/models/katello/purpose_addons_status.rb +0 -28
- data/app/models/katello/purpose_role_status.rb +0 -28
- data/app/models/katello/purpose_sla_status.rb +0 -28
- data/app/models/katello/purpose_status.rb +0 -71
- data/app/models/katello/purpose_usage_status.rb +0 -28
- data/app/models/katello/subscription_status.rb +0 -71
- data/app/services/katello/candlepin/system_purpose.rb +0 -49
- data/app/views/dashboard/_subscription_status_widget.html.erb +0 -37
- data/app/views/dashboard/_subscription_widget.html.erb +0 -85
- data/app/views/overrides/organizations/_index_header_override.html.erb +0 -3
- data/app/views/overrides/organizations/_index_row_override.html.erb +0 -3
- data/app/views/overrides/organizations/_step_1_override.html.erb +0 -10
- data/config/locales/README +0 -10
- data/config/locales/bn.yml +0 -182
- data/config/locales/compare_upstream.sh +0 -21
- data/config/locales/cs.yml +0 -211
- data/config/locales/de.yml +0 -203
- data/config/locales/en.yml +0 -205
- data/config/locales/es.yml +0 -199
- data/config/locales/fr.yml +0 -222
- data/config/locales/gu.yml +0 -181
- data/config/locales/hi.yml +0 -199
- data/config/locales/it.yml +0 -205
- data/config/locales/ja.yml +0 -197
- data/config/locales/kn.yml +0 -199
- data/config/locales/ko.yml +0 -197
- data/config/locales/mr.yml +0 -178
- data/config/locales/or.yml +0 -181
- data/config/locales/pa.yml +0 -181
- data/config/locales/pt-BR.yml +0 -207
- data/config/locales/pt.yml +0 -207
- data/config/locales/ru.yml +0 -257
- data/config/locales/ta.yml +0 -181
- data/config/locales/te.yml +0 -181
- data/config/locales/update.sh +0 -14
- data/config/locales/zh-CN.yml +0 -199
- data/config/locales/zh-TW.yml +0 -199
- data/engines/bastion/app/assets/javascripts/bastion/bastion-bootstrap.js +0 -17
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/content-access-mode-banner.directive.js +0 -22
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/content-access-mode-banner.html +0 -10
- data/webpack/scenes/Subscriptions/Manifest/SimpleContentAccess.js +0 -96
data/locale/zh_TW/katello.po
CHANGED
@@ -485,9 +485,6 @@ msgstr ""
|
|
485
485
|
msgid "Action unauthorized to be performed in this organization."
|
486
486
|
msgstr ""
|
487
487
|
|
488
|
-
msgid "Action with sub plans"
|
489
|
-
msgstr "有子計畫的動作"
|
490
|
-
|
491
488
|
msgid "Activation Key will no longer be available for use. This operation cannot be undone."
|
492
489
|
msgstr ""
|
493
490
|
|
@@ -921,6 +918,9 @@ msgstr "必須提供至少一組啟動金鑰"
|
|
921
918
|
msgid "At least one activation key must have a lifecycle environment and content view assigned to it"
|
922
919
|
msgstr "至少必須有一組被指定了生命週期環境和內容視域的啟動金鑰"
|
923
920
|
|
921
|
+
msgid "At least one of the selected items requires the host to reboot"
|
922
|
+
msgstr ""
|
923
|
+
|
924
924
|
msgid "At least one organization must exist."
|
925
925
|
msgstr "至少必須存在一個組織。"
|
926
926
|
|
@@ -1311,9 +1311,6 @@ msgstr ""
|
|
1311
1311
|
msgid "Check audited changes and proceed only if content or filters have changed since last publish"
|
1312
1312
|
msgstr ""
|
1313
1313
|
|
1314
|
-
msgid "Check for long running tasks"
|
1315
|
-
msgstr ""
|
1316
|
-
|
1317
1314
|
msgid "Check if a connection can be made to Red Hat Subscription Management."
|
1318
1315
|
msgstr ""
|
1319
1316
|
|
@@ -2223,9 +2220,6 @@ msgstr ""
|
|
2223
2220
|
msgid "Deleting versions: {versionList}"
|
2224
2221
|
msgstr ""
|
2225
2222
|
|
2226
|
-
msgid "Deliver notifications about long running tasks"
|
2227
|
-
msgstr ""
|
2228
|
-
|
2229
2223
|
msgid "Description"
|
2230
2224
|
msgstr "描述"
|
2231
2225
|
|
@@ -3352,9 +3346,6 @@ msgstr "匯入清單"
|
|
3352
3346
|
msgid "Import New Manifest"
|
3353
3347
|
msgstr ""
|
3354
3348
|
|
3355
|
-
msgid "Import Puppet classes"
|
3356
|
-
msgstr "匯入 Puppet 類別"
|
3357
|
-
|
3358
3349
|
msgid "Import Repository"
|
3359
3350
|
msgstr ""
|
3360
3351
|
|
@@ -3382,9 +3373,6 @@ msgstr ""
|
|
3382
3373
|
msgid "Import a subscription manifest to give hosts access to Red Hat content."
|
3383
3374
|
msgstr ""
|
3384
3375
|
|
3385
|
-
msgid "Import facts"
|
3386
|
-
msgstr "匯入詳情"
|
3387
|
-
|
3388
3376
|
msgid "Import only"
|
3389
3377
|
msgstr ""
|
3390
3378
|
|
@@ -3658,6 +3646,9 @@ msgstr ""
|
|
3658
3646
|
msgid "Katello ID of local pool to update"
|
3659
3647
|
msgstr ""
|
3660
3648
|
|
3649
|
+
msgid "Katello: Configure host for new content source"
|
3650
|
+
msgstr ""
|
3651
|
+
|
3661
3652
|
msgid "Katello: Install Errata"
|
3662
3653
|
msgstr "Katello:安裝勘誤"
|
3663
3654
|
|
@@ -3808,9 +3799,6 @@ msgstr ""
|
|
3808
3799
|
msgid "Lifecycle environment ID"
|
3809
3800
|
msgstr ""
|
3810
3801
|
|
3811
|
-
msgid "Lifecycle environment for the host."
|
3812
|
-
msgstr ""
|
3813
|
-
|
3814
3802
|
msgid "Lifecycle environment must be specified"
|
3815
3803
|
msgstr ""
|
3816
3804
|
|
@@ -4764,9 +4752,6 @@ msgstr "視需求"
|
|
4764
4752
|
msgid "On the RHUA Instance, check the available repositories."
|
4765
4753
|
msgstr ""
|
4766
4754
|
|
4767
|
-
msgid "On-disk location for exported repositories"
|
4768
|
-
msgstr "匯入軟體庫的磁碟位置"
|
4769
|
-
|
4770
4755
|
msgid "On-disk location for pulp 3 exported repositories"
|
4771
4756
|
msgstr ""
|
4772
4757
|
|
@@ -5348,9 +5333,6 @@ msgstr ""
|
|
5348
5333
|
msgid "Pulp does not appear to be running."
|
5349
5334
|
msgstr "Pulp n似乎不在執行中。"
|
5350
5335
|
|
5351
|
-
msgid "Pulp export destination filepath"
|
5352
|
-
msgstr ""
|
5353
|
-
|
5354
5336
|
msgid "Pulp message bus connection issue at %s."
|
5355
5337
|
msgstr ""
|
5356
5338
|
|
@@ -5471,6 +5453,9 @@ msgstr ""
|
|
5471
5453
|
msgid "Reassign affected hosts"
|
5472
5454
|
msgstr ""
|
5473
5455
|
|
5456
|
+
msgid "Reboot host"
|
5457
|
+
msgstr ""
|
5458
|
+
|
5474
5459
|
msgid "Reboot required"
|
5475
5460
|
msgstr ""
|
5476
5461
|
|
@@ -5639,9 +5624,6 @@ msgstr "要啟用的發行版本"
|
|
5639
5624
|
msgid "Reload data"
|
5640
5625
|
msgstr "重新載入資料"
|
5641
5626
|
|
5642
|
-
msgid "Remote action:"
|
5643
|
-
msgstr "遠端動作:"
|
5644
|
-
|
5645
5627
|
msgid "Remote execution is enabled."
|
5646
5628
|
msgstr ""
|
5647
5629
|
|
@@ -5747,6 +5729,9 @@ msgstr ""
|
|
5747
5729
|
msgid "Removing this version from all environments will not delete the version. Version will still be available for later promotion."
|
5748
5730
|
msgstr ""
|
5749
5731
|
|
5732
|
+
msgid "Replace content source on the target machine"
|
5733
|
+
msgstr ""
|
5734
|
+
|
5750
5735
|
msgid "Repo ID"
|
5751
5736
|
msgstr ""
|
5752
5737
|
|
@@ -6095,6 +6080,9 @@ msgstr "搜尋"
|
|
6095
6080
|
msgid "Search Query"
|
6096
6081
|
msgstr ""
|
6097
6082
|
|
6083
|
+
msgid "Search available Debian packages"
|
6084
|
+
msgstr ""
|
6085
|
+
|
6098
6086
|
msgid "Search available packages"
|
6099
6087
|
msgstr ""
|
6100
6088
|
|
@@ -8451,6 +8439,9 @@ msgstr ""
|
|
8451
8439
|
msgid "deb_ids is not an array"
|
8452
8440
|
msgstr ""
|
8453
8441
|
|
8442
|
+
msgid "deb_names_for_job_template: Action must be one of %s"
|
8443
|
+
msgstr ""
|
8444
|
+
|
8454
8445
|
msgid "delete a filter"
|
8455
8446
|
msgstr "刪除篩選器"
|
8456
8447
|
|
@@ -8574,8 +8565,8 @@ msgstr "已經為此組織的產品使用。"
|
|
8574
8565
|
msgid "has already been taken for this product."
|
8575
8566
|
msgstr "已經為此產品使用。"
|
8576
8567
|
|
8577
|
-
msgid "here"
|
8578
|
-
msgstr "
|
8568
|
+
msgid "here."
|
8569
|
+
msgstr ""
|
8579
8570
|
|
8580
8571
|
msgid "host collection name to filter by"
|
8581
8572
|
msgstr "要篩選的主機集名稱,透過"
|
File without changes
|
data/package.json
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { Route, Switch, Redirect } from 'react-router-dom';
|
3
3
|
import { PackagesTab } from '../PackagesTab/PackagesTab.js';
|
4
|
+
import { DebsTab } from '../DebsTab/DebsTab.js';
|
4
5
|
import { ErrataTab } from '../ErrataTab/ErrataTab.js';
|
5
6
|
import { ModuleStreamsTab } from '../ModuleStreamsTab/ModuleStreamsTab';
|
6
7
|
import RepositorySetsTab from '../RepositorySetsTab/RepositorySetsTab';
|
@@ -11,6 +12,9 @@ const SecondaryTabRoutes = () => (
|
|
11
12
|
<Route path={route('packages')}>
|
12
13
|
<PackagesTab />
|
13
14
|
</Route>
|
15
|
+
<Route path={route('debs')}>
|
16
|
+
<DebsTab />
|
17
|
+
</Route>
|
14
18
|
<Route path={route('errata')}>
|
15
19
|
<ErrataTab />
|
16
20
|
</Route>
|
@@ -1,9 +1,12 @@
|
|
1
1
|
import { translate as __ } from 'foremanReact/common/I18n';
|
2
2
|
import { hideRepoSetsTab } from '../RepositorySetsTab/RepositorySetsTab';
|
3
3
|
import { hideModuleStreamsTab } from '../ModuleStreamsTab/ModuleStreamsTab';
|
4
|
+
import { hideDebsTab } from '../DebsTab/DebsTab';
|
5
|
+
import { hidePackagesTab } from '../PackagesTab/PackagesTab';
|
4
6
|
|
5
7
|
const SECONDARY_TABS = [
|
6
|
-
{ key: '
|
8
|
+
{ key: 'debs', hideTab: hideDebsTab, title: __('Packages') },
|
9
|
+
{ key: 'packages', hideTab: hidePackagesTab, title: __('Packages') },
|
7
10
|
{ key: 'errata', title: __('Errata') },
|
8
11
|
{ key: 'module-streams', hideTab: hideModuleStreamsTab, title: __('Module streams') },
|
9
12
|
{ key: 'Repository sets', hideTab: hideRepoSetsTab, title: __('Repository sets') },
|
@@ -0,0 +1,250 @@
|
|
1
|
+
import React, { useState } from 'react';
|
2
|
+
import { Modal, Button, Dropdown, DropdownItem, DropdownToggle, DropdownDirection, DropdownToggleAction } from '@patternfly/react-core';
|
3
|
+
import { CaretDownIcon, CaretUpIcon } from '@patternfly/react-icons';
|
4
|
+
import { useSelector } from 'react-redux';
|
5
|
+
import { FormattedMessage } from 'react-intl';
|
6
|
+
import { Thead, Th, Tbody, Tr, Td, TableVariant } from '@patternfly/react-table';
|
7
|
+
import { noop } from 'foremanReact/common/helpers';
|
8
|
+
import { translate as __ } from 'foremanReact/common/I18n';
|
9
|
+
import { urlBuilder } from 'foremanReact/common/urlHelpers';
|
10
|
+
import { selectAPIResponse } from 'foremanReact/redux/API/APISelectors';
|
11
|
+
import { useBulkSelect } from 'foremanReact/components/PF4/TableIndexPage/Table/TableHooks';
|
12
|
+
import PropTypes from 'prop-types';
|
13
|
+
import TableWrapper from '../../../../Table/TableWrapper';
|
14
|
+
import { HOST_INSTALLABLE_DEBS_KEY } from './InstallableDebsConstants';
|
15
|
+
import { selectHostInstallableDebsStatus } from './InstallableDebsSelectors';
|
16
|
+
import { getHostInstallableDebs } from './InstallableDebsActions';
|
17
|
+
import './DebInstallModal.scss';
|
18
|
+
import { katelloPackageInstallBySearchUrl, katelloPackageInstallUrl } from '../customizedRexUrlHelpers';
|
19
|
+
import hostIdNotReady from '../../HostDetailsActions';
|
20
|
+
|
21
|
+
const InstallDropdown = ({
|
22
|
+
isDisabled, installViaRex,
|
23
|
+
bulkCustomizedRexUrl,
|
24
|
+
}) => {
|
25
|
+
const [isActionOpen, setIsActionOpen] = useState(false);
|
26
|
+
const onActionSelect = () => {
|
27
|
+
setIsActionOpen(false);
|
28
|
+
};
|
29
|
+
const onActionToggle = () => {
|
30
|
+
setIsActionOpen(prev => !prev);
|
31
|
+
};
|
32
|
+
|
33
|
+
const dropdownItems = [
|
34
|
+
<DropdownItem key="install-rex" ouiaId="install-rex" component="button" onClick={installViaRex}>
|
35
|
+
{__('Install via remote execution')}
|
36
|
+
</DropdownItem>,
|
37
|
+
<DropdownItem
|
38
|
+
key="install-customized-rex"
|
39
|
+
ouiaId="install-customized-rex"
|
40
|
+
component="a"
|
41
|
+
href={bulkCustomizedRexUrl}
|
42
|
+
onClick={onActionSelect}
|
43
|
+
>
|
44
|
+
{__('Install via customized remote execution')}
|
45
|
+
</DropdownItem>,
|
46
|
+
];
|
47
|
+
|
48
|
+
return (
|
49
|
+
<Dropdown
|
50
|
+
ouiaId="action-dropdown"
|
51
|
+
direction={DropdownDirection.up}
|
52
|
+
onSelect={onActionSelect}
|
53
|
+
toggle={
|
54
|
+
<DropdownToggle
|
55
|
+
ouiaId="install-action-toggle"
|
56
|
+
isDisabled={isDisabled}
|
57
|
+
splitButtonItems={[
|
58
|
+
<DropdownToggleAction key="install" onClick={installViaRex}>
|
59
|
+
Install
|
60
|
+
</DropdownToggleAction>,
|
61
|
+
]}
|
62
|
+
splitButtonVariant="action"
|
63
|
+
toggleVariant="primary"
|
64
|
+
toggleIndicator={isActionOpen ? CaretUpIcon : CaretDownIcon}
|
65
|
+
onToggle={onActionToggle}
|
66
|
+
/>
|
67
|
+
}
|
68
|
+
isOpen={isActionOpen}
|
69
|
+
dropdownItems={dropdownItems}
|
70
|
+
/>
|
71
|
+
);
|
72
|
+
};
|
73
|
+
|
74
|
+
InstallDropdown.propTypes = {
|
75
|
+
isDisabled: PropTypes.bool,
|
76
|
+
installViaRex: PropTypes.func,
|
77
|
+
bulkCustomizedRexUrl: PropTypes.string,
|
78
|
+
};
|
79
|
+
|
80
|
+
InstallDropdown.defaultProps = {
|
81
|
+
isDisabled: false,
|
82
|
+
installViaRex: noop,
|
83
|
+
bulkCustomizedRexUrl: '',
|
84
|
+
};
|
85
|
+
|
86
|
+
const DebInstallModal = ({
|
87
|
+
isOpen, closeModal, hostId, hostName, triggerPackageInstall,
|
88
|
+
}) => {
|
89
|
+
const emptyContentTitle = __('No packages available to install');
|
90
|
+
const emptyContentBody = __('No packages available to install on this host. Please check the host\'s content view and lifecycle environment.');
|
91
|
+
const emptySearchTitle = __('No matching packages found');
|
92
|
+
const emptySearchBody = __('Try changing your search settings.');
|
93
|
+
const columnHeaders = ['', __('Package'), __('Version')];
|
94
|
+
const response =
|
95
|
+
useSelector(state => selectAPIResponse(state, HOST_INSTALLABLE_DEBS_KEY));
|
96
|
+
const status = useSelector(state => selectHostInstallableDebsStatus(state));
|
97
|
+
const { results, ...metadata } = response;
|
98
|
+
const [suppressFirstFetch, setSuppressFirstFetch] = useState(false);
|
99
|
+
|
100
|
+
const {
|
101
|
+
searchQuery,
|
102
|
+
updateSearchQuery,
|
103
|
+
isSelected,
|
104
|
+
selectOne,
|
105
|
+
selectNone,
|
106
|
+
fetchBulkParams,
|
107
|
+
isSelectable,
|
108
|
+
selectedCount,
|
109
|
+
selectedResults,
|
110
|
+
...selectAll
|
111
|
+
} = useBulkSelect({ results, metadata });
|
112
|
+
|
113
|
+
const fetchItems = (params) => {
|
114
|
+
if (!hostId) return hostIdNotReady;
|
115
|
+
|
116
|
+
if (results?.length > 0 && suppressFirstFetch) {
|
117
|
+
// If the modal has already been opened, no need to re-fetch the data that's already present
|
118
|
+
setSuppressFirstFetch(false);
|
119
|
+
return { type: 'HOST_APPLICABLE_PACKAGES_NOOP' };
|
120
|
+
}
|
121
|
+
return getHostInstallableDebs(hostId, params);
|
122
|
+
};
|
123
|
+
|
124
|
+
const selectedPackageNames = () => selectedResults.map(({ name }) => name);
|
125
|
+
|
126
|
+
const installViaRex = () => {
|
127
|
+
triggerPackageInstall(fetchBulkParams());
|
128
|
+
selectNone();
|
129
|
+
closeModal();
|
130
|
+
};
|
131
|
+
|
132
|
+
const handleModalClose = () => {
|
133
|
+
setSuppressFirstFetch(true);
|
134
|
+
closeModal();
|
135
|
+
};
|
136
|
+
|
137
|
+
const bulkCustomizedRexUrl = selectedCount ?
|
138
|
+
katelloPackageInstallBySearchUrl({ hostname: hostName, search: fetchBulkParams() }) :
|
139
|
+
'#';
|
140
|
+
const simpleBulkCustomizedRexUrl
|
141
|
+
= katelloPackageInstallUrl({ hostname: hostName, packages: selectedPackageNames() });
|
142
|
+
const enableSimpleRexUrl = !!selectedResults.length;
|
143
|
+
|
144
|
+
const modalActions = ([
|
145
|
+
<InstallDropdown
|
146
|
+
key="install"
|
147
|
+
isDisabled={!selectedCount}
|
148
|
+
installViaRex={installViaRex}
|
149
|
+
bulkCustomizedRexUrl={enableSimpleRexUrl ? simpleBulkCustomizedRexUrl : bulkCustomizedRexUrl}
|
150
|
+
/>,
|
151
|
+
<Button key="cancel" ouiaId="cancel-button" variant="link" onClick={handleModalClose}>
|
152
|
+
Cancel
|
153
|
+
</Button>,
|
154
|
+
]);
|
155
|
+
|
156
|
+
return (
|
157
|
+
<Modal
|
158
|
+
isOpen={isOpen}
|
159
|
+
onClose={handleModalClose}
|
160
|
+
title={__('Install packages')}
|
161
|
+
width="50%"
|
162
|
+
actions={modalActions}
|
163
|
+
id="deb-install-modal"
|
164
|
+
ouiaId="deb-install-modal"
|
165
|
+
>
|
166
|
+
<FormattedMessage
|
167
|
+
className="deb-install-modal-blurb"
|
168
|
+
id="deb-install-modal-blurb"
|
169
|
+
defaultMessage={__('Select packages to install to the host {hostName}.')}
|
170
|
+
values={{
|
171
|
+
hostName: <strong>{hostName}</strong>,
|
172
|
+
}}
|
173
|
+
/>
|
174
|
+
<TableWrapper
|
175
|
+
{...{
|
176
|
+
metadata,
|
177
|
+
emptyContentTitle,
|
178
|
+
emptyContentBody,
|
179
|
+
emptySearchTitle,
|
180
|
+
emptySearchBody,
|
181
|
+
status,
|
182
|
+
searchQuery,
|
183
|
+
updateSearchQuery,
|
184
|
+
selectedCount,
|
185
|
+
selectNone,
|
186
|
+
}
|
187
|
+
}
|
188
|
+
ouiaId="host-package-install-table"
|
189
|
+
additionalListeners={[hostId]}
|
190
|
+
fetchItems={fetchItems}
|
191
|
+
searchPlaceholderText={__('Search available Debian packages')}
|
192
|
+
autocompleteEndpoint={`/api/v2/hosts/${hostId}/debs`}
|
193
|
+
variant={TableVariant.compact}
|
194
|
+
{...selectAll}
|
195
|
+
displaySelectAllCheckbox
|
196
|
+
>
|
197
|
+
<Thead>
|
198
|
+
<Tr ouiaId="row-header">
|
199
|
+
{columnHeaders.map(col =>
|
200
|
+
<Th key={col}>{col}</Th>)}
|
201
|
+
<Th />
|
202
|
+
</Tr>
|
203
|
+
</Thead>
|
204
|
+
<Tbody>
|
205
|
+
{results?.map((pkg, rowIndex) => {
|
206
|
+
const {
|
207
|
+
id,
|
208
|
+
name: packageName,
|
209
|
+
deb_id: debId,
|
210
|
+
version,
|
211
|
+
} = pkg;
|
212
|
+
return (
|
213
|
+
<Tr key={id} ouiaId={`row-${id}`}>
|
214
|
+
<Td
|
215
|
+
select={{
|
216
|
+
disable: false,
|
217
|
+
isSelected: isSelected(id),
|
218
|
+
onSelect: (_event, selected) => selectOne(selected, id, pkg),
|
219
|
+
rowIndex,
|
220
|
+
variant: 'checkbox',
|
221
|
+
}}
|
222
|
+
/>
|
223
|
+
<Td>
|
224
|
+
{debId
|
225
|
+
? <a href={urlBuilder(`debs/${debId}`, '')}>{packageName}</a>
|
226
|
+
: packageName
|
227
|
+
}
|
228
|
+
</Td>
|
229
|
+
<Td>
|
230
|
+
{version}
|
231
|
+
</Td>
|
232
|
+
</Tr>
|
233
|
+
);
|
234
|
+
})
|
235
|
+
}
|
236
|
+
</Tbody>
|
237
|
+
</TableWrapper>
|
238
|
+
</Modal>
|
239
|
+
);
|
240
|
+
};
|
241
|
+
|
242
|
+
DebInstallModal.propTypes = {
|
243
|
+
isOpen: PropTypes.bool.isRequired,
|
244
|
+
closeModal: PropTypes.func.isRequired,
|
245
|
+
hostId: PropTypes.number.isRequired,
|
246
|
+
hostName: PropTypes.string.isRequired,
|
247
|
+
triggerPackageInstall: PropTypes.func.isRequired,
|
248
|
+
};
|
249
|
+
|
250
|
+
export default DebInstallModal;
|