katello 4.11.0 → 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 +93 -99
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/ca/katello.js +97 -100
- data/app/assets/javascripts/katello/locale/cs/katello.js +96 -99
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +109 -100
- data/app/assets/javascripts/katello/locale/de/katello.js +120 -102
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/el/katello.js +103 -100
- data/app/assets/javascripts/katello/locale/en/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +105 -99
- data/app/assets/javascripts/katello/locale/en_US/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/es/katello.js +117 -102
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/fr/katello.js +120 -102
- data/app/assets/javascripts/katello/locale/gl/katello.js +97 -100
- data/app/assets/javascripts/katello/locale/gu/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/hi/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/id/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/it/katello.js +106 -100
- data/app/assets/javascripts/katello/locale/ja/katello.js +120 -102
- data/app/assets/javascripts/katello/locale/ka/katello.js +113 -101
- data/app/assets/javascripts/katello/locale/kn/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/ko/katello.js +114 -102
- data/app/assets/javascripts/katello/locale/locale/katello.js +1183 -1048
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/mr/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/or/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/pa/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/pl/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/pt/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +117 -102
- data/app/assets/javascripts/katello/locale/ro/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/ru/katello.js +114 -102
- data/app/assets/javascripts/katello/locale/sl/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +97 -100
- data/app/assets/javascripts/katello/locale/ta/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/te/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/tr/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/vi/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/zh/katello.js +93 -99
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +120 -102
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +114 -102
- 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/api/v2/registration_controller_extensions.rb +1 -0
- 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/incremental_updates.rb +28 -15
- 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/actions/pulp3/repository/save_version.rb +13 -1
- 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 +38 -83
- 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/smart_proxy_extensions.rb +5 -5
- 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_module_stream_filter.rb +1 -1
- data/app/models/katello/content_view_version.rb +2 -0
- data/app/models/katello/deb.rb +8 -0
- data/app/models/katello/glue/candlepin/pool.rb +2 -7
- 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/foreman/job_templates/install_errata_-_katello_ansible_default.erb +4 -4
- data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +24 -0
- data/app/views/foreman/job_templates/install_packages_by_search_query_-_katello_ansible_default.erb +28 -0
- data/app/views/foreman/job_templates/remove_packages_by_search_query_-_katello_ansible_default.erb +26 -0
- data/app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb +33 -0
- 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/activation_keys/_host_tab_pane.html.erb +4 -2
- data/app/views/overrides/organizations/_edit_override.html.erb +0 -11
- 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/20240122150431_remove_content_counts_index.rb +5 -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/activation-keys/details/views/activation-key-info.html +1 -4
- 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 +15 -11
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +332 -71
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +332 -64
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +508 -232
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +361 -90
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +311 -57
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +336 -68
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +332 -64
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +343 -73
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +8 -8
- 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 +35 -41
- data/locale/bn/katello.pox +0 -0
- data/locale/bn_IN/katello.po +35 -41
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/katello.po +36 -42
- data/locale/cs/katello.po +35 -42
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +36 -42
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +37 -43
- data/locale/de_AT/katello.po +35 -41
- data/locale/de_DE/katello.po +35 -41
- data/locale/el/LC_MESSAGES/katello.mo +0 -0
- data/locale/el/katello.po +36 -42
- data/locale/en/katello.po +35 -41
- data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_GB/katello.po +35 -41
- data/locale/en_US/katello.po +35 -41
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +37 -43
- data/locale/et_EE/katello.po +35 -41
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +37 -43
- data/locale/gl/LC_MESSAGES/katello.mo +0 -0
- data/locale/gl/katello.po +36 -42
- data/locale/gu/katello.po +35 -41
- data/locale/he_IL/katello.po +35 -41
- data/locale/hi/katello.po +35 -41
- data/locale/id/katello.po +35 -41
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +36 -42
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +37 -43
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/katello.po +36 -42
- data/locale/katello.pot +707 -674
- data/locale/kn/katello.po +35 -41
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +37 -43
- data/locale/messages.mo +0 -0
- data/locale/ml_IN/katello.po +35 -41
- data/locale/mr/katello.po +35 -41
- data/locale/nl_NL/katello.po +35 -41
- data/locale/or/katello.po +35 -41
- data/locale/pa/katello.po +35 -41
- data/locale/pl/katello.po +35 -41
- data/locale/pl_PL/katello.po +35 -41
- data/locale/pt/katello.po +35 -41
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +37 -43
- data/locale/ro/katello.po +35 -41
- data/locale/ro_RO/katello.po +35 -41
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +37 -43
- data/locale/sl/katello.po +35 -41
- data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
- data/locale/sv_SE/katello.po +36 -42
- data/locale/ta/katello.po +35 -41
- data/locale/ta_IN/katello.po +35 -41
- data/locale/te/katello.po +35 -41
- data/locale/tr/katello.po +35 -41
- data/locale/vi/katello.po +35 -41
- data/locale/vi_VN/katello.po +35 -41
- data/locale/zh/katello.po +35 -41
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +37 -43
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +37 -43
- 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/RemoteExecutionActions.js +6 -5
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +5 -19
- 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/components/extensions/RegistrationCommands/fields/ActivationKeys.js +3 -1
- data/webpack/components/extensions/RegistrationCommands/index.js +9 -0
- data/webpack/redux/actions/RedHatRepositories/helpers.js +3 -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/Repositories/ContentCounts.js +1 -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 +51 -191
- 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
|
|
@@ -2019,6 +2016,9 @@ msgstr ""
|
|
2019
2016
|
msgid "Deb packages"
|
2020
2017
|
msgstr ""
|
2021
2018
|
|
2019
|
+
msgid "Debian packages"
|
2020
|
+
msgstr ""
|
2021
|
+
|
2022
2022
|
msgid "Debug Certificate"
|
2023
2023
|
msgstr "除錯憑證"
|
2024
2024
|
|
@@ -2196,6 +2196,9 @@ msgstr ""
|
|
2196
2196
|
msgid "Delete versions"
|
2197
2197
|
msgstr ""
|
2198
2198
|
|
2199
|
+
msgid "Deleted %{host_count} %{hosts}"
|
2200
|
+
msgstr ""
|
2201
|
+
|
2199
2202
|
msgid "Deleted consumer '%s'"
|
2200
2203
|
msgstr "已刪除了消耗者「%s」"
|
2201
2204
|
|
@@ -2217,9 +2220,6 @@ msgstr ""
|
|
2217
2220
|
msgid "Deleting versions: {versionList}"
|
2218
2221
|
msgstr ""
|
2219
2222
|
|
2220
|
-
msgid "Deliver notifications about long running tasks"
|
2221
|
-
msgstr ""
|
2222
|
-
|
2223
2223
|
msgid "Description"
|
2224
2224
|
msgstr "描述"
|
2225
2225
|
|
@@ -3346,9 +3346,6 @@ msgstr "匯入清單"
|
|
3346
3346
|
msgid "Import New Manifest"
|
3347
3347
|
msgstr ""
|
3348
3348
|
|
3349
|
-
msgid "Import Puppet classes"
|
3350
|
-
msgstr "匯入 Puppet 類別"
|
3351
|
-
|
3352
3349
|
msgid "Import Repository"
|
3353
3350
|
msgstr ""
|
3354
3351
|
|
@@ -3376,9 +3373,6 @@ msgstr ""
|
|
3376
3373
|
msgid "Import a subscription manifest to give hosts access to Red Hat content."
|
3377
3374
|
msgstr ""
|
3378
3375
|
|
3379
|
-
msgid "Import facts"
|
3380
|
-
msgstr "匯入詳情"
|
3381
|
-
|
3382
3376
|
msgid "Import only"
|
3383
3377
|
msgstr ""
|
3384
3378
|
|
@@ -3652,6 +3646,9 @@ msgstr ""
|
|
3652
3646
|
msgid "Katello ID of local pool to update"
|
3653
3647
|
msgstr ""
|
3654
3648
|
|
3649
|
+
msgid "Katello: Configure host for new content source"
|
3650
|
+
msgstr ""
|
3651
|
+
|
3655
3652
|
msgid "Katello: Install Errata"
|
3656
3653
|
msgstr "Katello:安裝勘誤"
|
3657
3654
|
|
@@ -3802,9 +3799,6 @@ msgstr ""
|
|
3802
3799
|
msgid "Lifecycle environment ID"
|
3803
3800
|
msgstr ""
|
3804
3801
|
|
3805
|
-
msgid "Lifecycle environment for the host."
|
3806
|
-
msgstr ""
|
3807
|
-
|
3808
3802
|
msgid "Lifecycle environment must be specified"
|
3809
3803
|
msgstr ""
|
3810
3804
|
|
@@ -4488,12 +4482,6 @@ msgstr ""
|
|
4488
4482
|
msgid "No hosts found"
|
4489
4483
|
msgstr ""
|
4490
4484
|
|
4491
|
-
msgid "No hosts have been specified."
|
4492
|
-
msgstr "未指定主機。"
|
4493
|
-
|
4494
|
-
msgid "No hosts matched search, or action unauthorized for selected hosts."
|
4495
|
-
msgstr ""
|
4496
|
-
|
4497
4485
|
msgid "No hosts registered with subscription-manager found in selection."
|
4498
4486
|
msgstr ""
|
4499
4487
|
|
@@ -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
|
|
@@ -5792,8 +5777,8 @@ msgstr ""
|
|
5792
5777
|
msgid "Repository Id associated with the kickstart repo used for provisioning"
|
5793
5778
|
msgstr ""
|
5794
5779
|
|
5795
|
-
msgid "Repository cannot be deleted since it has already been included in a published Content View. Please delete all Content View versions containing this repository before attempting to delete it."
|
5796
|
-
msgstr "
|
5780
|
+
msgid "Repository cannot be deleted since it has already been included in a published Content View. Please delete all Content View versions containing this repository before attempting to delete it or use --remove-from-content-view-versions flag to automatically remove the repository from all published versions."
|
5781
|
+
msgstr ""
|
5797
5782
|
|
5798
5783
|
msgid "Repository cannot be disabled since it has already been promoted."
|
5799
5784
|
msgstr "軟體庫無法停用,因為該軟體庫已推送。"
|
@@ -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
|
|
@@ -7284,6 +7272,9 @@ msgstr ""
|
|
7284
7272
|
msgid "This content view will be deleted. Changes will be effective after clicking Delete."
|
7285
7273
|
msgstr ""
|
7286
7274
|
|
7275
|
+
msgid "This endpoint is deprecated and will be removed in Katello 4.12. All organizations are now eligible for Simple Content Access."
|
7276
|
+
msgstr ""
|
7277
|
+
|
7287
7278
|
msgid "This erratum is not installable because it is not in this host's content view and lifecycle environment."
|
7288
7279
|
msgstr ""
|
7289
7280
|
|
@@ -7563,6 +7554,9 @@ msgstr "無法收到勘誤的電子郵件通知:%{error}"
|
|
7563
7554
|
msgid "Unable to sync repo. This repository does not have a feed url."
|
7564
7555
|
msgstr "無法同步軟體庫。此軟體庫並沒有發送用的網址。"
|
7565
7556
|
|
7557
|
+
msgid "Unable to sync repo. This repository is not a library instance repository."
|
7558
|
+
msgstr ""
|
7559
|
+
|
7566
7560
|
msgid "Unable to synchronize any repository. You either do not have the permission to synchronize or the selected repositories do not have a feed url."
|
7567
7561
|
msgstr "無法同步任何軟體庫。您可能沒有同步的權限,或是選擇的軟體庫沒有摘要 url。"
|
7568
7562
|
|
@@ -8283,6 +8277,9 @@ msgstr "組織"
|
|
8283
8277
|
msgid "are only allowed for Yum repositories."
|
8284
8278
|
msgstr ""
|
8285
8279
|
|
8280
|
+
msgid "attempted to sync a non-library repository."
|
8281
|
+
msgstr ""
|
8282
|
+
|
8286
8283
|
msgid "attempted to sync without a feed URL"
|
8287
8284
|
msgstr "試圖在沒有 feed URL 的情況下同步"
|
8288
8285
|
|
@@ -8442,6 +8439,9 @@ msgstr ""
|
|
8442
8439
|
msgid "deb_ids is not an array"
|
8443
8440
|
msgstr ""
|
8444
8441
|
|
8442
|
+
msgid "deb_names_for_job_template: Action must be one of %s"
|
8443
|
+
msgstr ""
|
8444
|
+
|
8445
8445
|
msgid "delete a filter"
|
8446
8446
|
msgstr "刪除篩選器"
|
8447
8447
|
|
@@ -8565,8 +8565,8 @@ msgstr "已經為此組織的產品使用。"
|
|
8565
8565
|
msgid "has already been taken for this product."
|
8566
8566
|
msgstr "已經為此產品使用。"
|
8567
8567
|
|
8568
|
-
msgid "here"
|
8569
|
-
msgstr "
|
8568
|
+
msgid "here."
|
8569
|
+
msgstr ""
|
8570
8570
|
|
8571
8571
|
msgid "host collection name to filter by"
|
8572
8572
|
msgstr "要篩選的主機集名稱,透過"
|
@@ -8889,9 +8889,6 @@ msgstr "在函示庫與預設內容視域中顯示軟體庫"
|
|
8889
8889
|
msgid "some executors are not responding, check %{status_url}"
|
8890
8890
|
msgstr "一些執行者沒有回應,請檢查 %{status_url}"
|
8891
8891
|
|
8892
|
-
msgid "source URL is malformed"
|
8893
|
-
msgstr "來源 URL 格式錯誤"
|
8894
|
-
|
8895
8892
|
msgid "specifies if content should be included or excluded, default: inclusion=false"
|
8896
8893
|
msgstr "指定要納入或排除內容,預設值:inclusion=false"
|
8897
8894
|
|
@@ -8910,9 +8907,6 @@ msgstr "同步計畫的名稱"
|
|
8910
8907
|
msgid "sync plan numeric identifier"
|
8911
8908
|
msgstr "同步計畫的數字型態識別子"
|
8912
8909
|
|
8913
|
-
msgid "temporarily override feed URL for sync"
|
8914
|
-
msgstr "暫時覆寫同步的 feed URL"
|
8915
|
-
|
8916
8910
|
msgid "the following attributes can not be updated for the Red Hat provider: [ %s ]"
|
8917
8911
|
msgstr "Red Hat 供應者的以下屬性可以更新:[ %s ]"
|
8918
8912
|
|
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;
|