katello 4.17.0 → 4.18.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/katello/locale/bn/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ca/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/cs/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/de/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/el/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/en/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/en_US/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/es/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/fr/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/gl/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/gu/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/hi/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/id/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/it/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ja/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/ka/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/kn/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ko/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/mr/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/or/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/pa/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/pl/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/pt/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/ro/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ru/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/sl/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ta/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/te/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/tr/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/vi/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/zh/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +148 -4
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +14 -14
- data/app/controllers/katello/api/v2/content_uploads_controller.rb +2 -1
- data/app/controllers/katello/api/v2/errata_controller.rb +16 -0
- data/app/controllers/katello/api/v2/flatpak_remote_repositories_controller.rb +20 -3
- data/app/controllers/katello/api/v2/flatpak_remotes_controller.rb +7 -3
- data/app/controllers/katello/api/v2/generic_content_units_controller.rb +1 -2
- data/app/controllers/katello/api/v2/products_controller.rb +18 -0
- data/app/controllers/katello/api/v2/repositories_controller.rb +5 -3
- data/app/controllers/katello/concerns/api/v2/hosts_bulk_actions_controller_extensions.rb +10 -0
- data/app/controllers/katello/concerns/api/v2/registration_commands_controller_extensions.rb +1 -0
- data/app/controllers/katello/concerns/filtered_auto_complete_search.rb +17 -0
- data/app/lib/actions/helpers/smart_proxy_sync_helper.rb +12 -0
- data/app/lib/actions/katello/content_view/add_rolling_repo_clone.rb +4 -4
- data/app/lib/actions/katello/content_view/capsule_sync.rb +8 -3
- data/app/lib/actions/katello/content_view/publish.rb +39 -12
- data/app/lib/actions/katello/flatpak/mirror_remote_repository.rb +2 -1
- data/app/lib/actions/katello/repository/capsule_sync.rb +11 -1
- data/app/lib/actions/katello/repository/destroy.rb +3 -0
- data/app/lib/actions/katello/repository/import_upload.rb +2 -3
- data/app/lib/actions/katello/repository/sync.rb +2 -1
- data/app/lib/actions/katello/repository/upload_files.rb +2 -1
- data/app/lib/katello/concerns/bookmark_controller_validator_extensions.rb +1 -1
- data/app/lib/katello/resources/cdn.rb +1 -1
- data/app/models/katello/concerns/smart_proxy_extensions.rb +46 -8
- data/app/models/katello/content_view_environment.rb +1 -1
- data/app/models/katello/erratum.rb +26 -1
- data/app/models/katello/flatpak_remote.rb +0 -1
- data/app/models/katello/flatpak_remote_repository.rb +24 -0
- data/app/models/katello/glue/pulp/repos.rb +1 -1
- data/app/models/katello/root_repository.rb +1 -0
- data/app/presenters/katello/flatpak_remote_mirror_status_presenter.rb +41 -0
- data/app/services/katello/repository_type_manager.rb +2 -0
- data/app/views/foreman/job_templates/flatpak_install.erb +17 -2
- data/app/views/foreman/job_templates/flatpak_login_action.erb +17 -3
- data/app/views/foreman/job_templates/install_errata_by_search_query.erb +1 -1
- data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +1 -1
- data/app/views/foreman/job_templates/install_packages_by_search_query_-_katello_ansible_default.erb +6 -14
- data/app/views/foreman/job_templates/remove_packages_by_search_query_-_katello_ansible_default.erb +2 -15
- data/app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb +5 -13
- data/app/views/katello/api/v2/flatpak_remote_repositories/base.json.rabl +3 -1
- data/app/views/katello/api/v2/flatpak_remotes/base.json.rabl +5 -0
- data/app/views/katello/api/v2/flatpak_remotes/permissions.json.rabl +1 -0
- data/config/routes/api/v2.rb +1 -1
- data/config/routes.rb +3 -0
- data/db/migrate/20240924161240_katello_recreate_evr_constructs.rb +20 -0
- data/db/migrate/20250613210050_use_big_int_for_erratum_packages_id.rb +11 -0
- data/db/migrate/20250714190050_add_missing_rpms_evr_index.rb +14 -0
- data/db/seeds.d/108-subcription-bookmarks.rb +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata.html +5 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +4 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +13 -3
- data/engines/bastion_katello/lib/bastion_katello/engine.rb +2 -0
- data/lib/katello/engine.rb +0 -1
- data/lib/katello/permission_creator.rb +1 -1
- data/lib/katello/plugin.rb +26 -2
- data/lib/katello/version.rb +1 -1
- data/lib/katello.rb +0 -1
- data/lib/proxy_api/container_gateway.rb +24 -0
- data/locale/bn/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn/katello.po +148 -4
- data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn_IN/katello.po +148 -4
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/katello.po +148 -4
- data/locale/cs/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs/katello.po +148 -4
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +148 -4
- data/locale/de/katello.po +147 -3
- data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_AT/katello.po +148 -4
- data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_DE/katello.po +148 -4
- data/locale/el/LC_MESSAGES/katello.mo +0 -0
- data/locale/el/katello.po +148 -4
- data/locale/en/LC_MESSAGES/katello.mo +0 -0
- data/locale/en/katello.po +148 -4
- data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_GB/katello.po +148 -4
- data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_US/katello.po +148 -4
- data/locale/es/katello.po +147 -3
- data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
- data/locale/et_EE/katello.po +148 -4
- data/locale/fr/katello.po +147 -3
- data/locale/gl/LC_MESSAGES/katello.mo +0 -0
- data/locale/gl/katello.po +148 -4
- data/locale/gu/LC_MESSAGES/katello.mo +0 -0
- data/locale/gu/katello.po +148 -4
- data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
- data/locale/he_IL/katello.po +148 -4
- data/locale/hi/LC_MESSAGES/katello.mo +0 -0
- data/locale/hi/katello.po +148 -4
- data/locale/id/LC_MESSAGES/katello.mo +0 -0
- data/locale/id/katello.po +148 -4
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +148 -4
- data/locale/ja/katello.po +147 -3
- data/locale/ka/katello.po +147 -3
- data/locale/katello.pot +703 -428
- data/locale/kn/LC_MESSAGES/katello.mo +0 -0
- data/locale/kn/katello.po +148 -4
- data/locale/ko/katello.po +147 -3
- data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ml_IN/katello.po +148 -4
- data/locale/mr/LC_MESSAGES/katello.mo +0 -0
- data/locale/mr/katello.po +148 -4
- data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
- data/locale/nl_NL/katello.po +148 -4
- data/locale/or/LC_MESSAGES/katello.mo +0 -0
- data/locale/or/katello.po +148 -4
- data/locale/pa/LC_MESSAGES/katello.mo +0 -0
- data/locale/pa/katello.po +148 -4
- data/locale/pl/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl/katello.po +148 -4
- data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl_PL/katello.po +148 -4
- data/locale/pt/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt/katello.po +148 -4
- data/locale/pt_BR/katello.po +147 -3
- data/locale/ro/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro/katello.po +148 -4
- data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro_RO/katello.po +148 -4
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +148 -4
- data/locale/sl/LC_MESSAGES/katello.mo +0 -0
- data/locale/sl/katello.po +148 -4
- data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
- data/locale/sv_SE/katello.po +148 -4
- data/locale/ta/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta/katello.po +148 -4
- data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta_IN/katello.po +148 -4
- data/locale/te/LC_MESSAGES/katello.mo +0 -0
- data/locale/te/katello.po +148 -4
- data/locale/tr/LC_MESSAGES/katello.mo +0 -0
- data/locale/tr/katello.po +148 -4
- data/locale/vi/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi/katello.po +148 -4
- data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi_VN/katello.po +148 -4
- data/locale/zh/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh/katello.po +148 -4
- data/locale/zh_CN/katello.po +147 -3
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +148 -4
- data/package.json +0 -1
- data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetails.test.js.snap +2 -2
- data/webpack/components/OptionTooltip/OptionTooltip.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +6 -1
- data/webpack/components/extensions/Hosts/ActionsBar/index.js +11 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCVModal/BulkChangeHostCVModal.js +1 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCVModal/actions.js +1 -2
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_ReviewFooter.js +1 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_ReviewFooter.js +1 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/01_BulkRepositorySetsTable.js +371 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/03_Review.js +79 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/03_ReviewFooter.js +73 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/BulkRepositorySetsWizard.js +170 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/actions.js +23 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/helpers.js +28 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/index.js +23 -0
- data/webpack/components/extensions/RegistrationCommands/fields/SetupContainerRegistryCerts.js +39 -0
- data/webpack/components/extensions/RegistrationCommands/index.js +7 -0
- data/webpack/components/pf3Table/formatters/ellipsisCellFormatter.js +3 -2
- data/webpack/containers/Application/config.js +11 -0
- data/webpack/global_index.js +3 -1
- data/webpack/scenes/FlatpakRemotes/CreateEdit/CreateFlatpakRemoteModal.js +30 -0
- data/webpack/scenes/FlatpakRemotes/CreateEdit/EditFlatpakRemotesModal.js +38 -0
- data/webpack/scenes/FlatpakRemotes/CreateEdit/FlatpakRemoteform.js +218 -0
- data/webpack/scenes/FlatpakRemotes/CreateEdit/__tests__/flatpakRemoteform.test.js +117 -0
- data/webpack/scenes/FlatpakRemotes/Delete/DeleteFlatpakModal.js +59 -0
- data/webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetailActions.js +87 -0
- data/webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetailReducers.js +23 -0
- data/webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetailSelectors.js +16 -0
- data/webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetails.js +167 -0
- data/webpack/scenes/FlatpakRemotes/Details/Mirror/MirrorRepositoryModal.js +135 -0
- data/webpack/scenes/FlatpakRemotes/Details/Mirror/__tests__/mirrorRepositoryModal.test.js +167 -0
- data/webpack/scenes/FlatpakRemotes/Details/RemoteRepositories/RemoteRepositoriesTable.js +171 -0
- data/webpack/scenes/FlatpakRemotes/Details/__tests__/flatpakRemoteDetails.fixtures.json +58 -0
- data/webpack/scenes/FlatpakRemotes/Details/__tests__/flatpakRemoteDetails.test.js +90 -0
- data/webpack/scenes/FlatpakRemotes/Details/index.js +4 -0
- data/webpack/scenes/FlatpakRemotes/FlatpakRemotesActions.js +26 -0
- data/webpack/scenes/FlatpakRemotes/FlatpakRemotesConstants.js +15 -0
- data/webpack/scenes/FlatpakRemotes/FlatpakRemotesPage.js +202 -0
- data/webpack/scenes/FlatpakRemotes/FlatpakRemotesSelectors.js +24 -0
- data/webpack/scenes/FlatpakRemotes/__tests__/flatpakRemotesList.fixtures.json +55 -0
- data/webpack/scenes/FlatpakRemotes/__tests__/flatpakRemotesPage.test.js +74 -0
- data/webpack/scenes/FlatpakRemotes/index.js +4 -0
- data/webpack/scenes/Hosts/ChangeContentSource/components/Hosts.js +2 -2
- data/webpack/scenes/RedHatRepositories/components/RecommendedRepositorySetsToggler.scss +1 -1
- data/webpack/scenes/RedHatRepositories/index.scss +1 -1
- data/webpack/scenes/Settings/SettingsSelectors.js +3 -3
- data/webpack/scenes/Settings/index.js +1 -3
- data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +2 -2
- data/webpack/scenes/Subscriptions/SubscriptionsPage.scss +1 -1
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsReducer.test.js +0 -21
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsReducer.test.js.snap +0 -44
- data/webpack/scenes/Subscriptions/index.js +1 -3
- metadata +39 -21
- data/webpack/scenes/Settings/SettingsConstants.js +0 -2
- data/webpack/scenes/Settings/SettingsReducer.js +0 -19
@@ -0,0 +1,74 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { renderWithRedux, patientlyWaitFor } from 'react-testing-lib-wrapper';
|
3
|
+
import FLATPAK_REMOTES_KEY from '../FlatpakRemotesConstants';
|
4
|
+
import FlatpakRemotesPage from '../FlatpakRemotesPage';
|
5
|
+
import api from '../../../services/api';
|
6
|
+
import { nockInstance, assertNockRequest } from '../../../test-utils/nockWrapper';
|
7
|
+
import flatpakRemotesData from './flatpakRemotesList.fixtures.json';
|
8
|
+
|
9
|
+
const flatpakRemotesPath = api.getApiUrl('/flatpak_remotes');
|
10
|
+
const autocompleteUrl = '/katello/api/v2/flatpak_remotes/auto_complete_search';
|
11
|
+
const renderOptions = { apiNamespace: FLATPAK_REMOTES_KEY };
|
12
|
+
const autocompleteQuery = {
|
13
|
+
search: '',
|
14
|
+
};
|
15
|
+
|
16
|
+
let firstRemote;
|
17
|
+
beforeEach(() => {
|
18
|
+
const { results } = flatpakRemotesData;
|
19
|
+
[firstRemote] = results;
|
20
|
+
});
|
21
|
+
|
22
|
+
test('Can call API for Flatpak Remotes and show on screen on page load', async () => {
|
23
|
+
const autocompleteScope = nockInstance
|
24
|
+
.get(autocompleteUrl)
|
25
|
+
.query(autocompleteQuery)
|
26
|
+
.reply(200, []);
|
27
|
+
|
28
|
+
const scope = nockInstance
|
29
|
+
.get(flatpakRemotesPath)
|
30
|
+
.query(true)
|
31
|
+
.times(2)
|
32
|
+
.reply(200, flatpakRemotesData);
|
33
|
+
|
34
|
+
const { queryByText } = renderWithRedux(<FlatpakRemotesPage />, renderOptions);
|
35
|
+
|
36
|
+
expect(queryByText(firstRemote.name)).toBeNull();
|
37
|
+
|
38
|
+
await patientlyWaitFor(() => {
|
39
|
+
expect(queryByText(firstRemote.name)).toBeInTheDocument();
|
40
|
+
});
|
41
|
+
|
42
|
+
assertNockRequest(autocompleteScope);
|
43
|
+
assertNockRequest(scope);
|
44
|
+
});
|
45
|
+
|
46
|
+
test('Displays empty state when no flatpak remotes exist', async () => {
|
47
|
+
const autocompleteScope = nockInstance
|
48
|
+
.get(autocompleteUrl)
|
49
|
+
.query(autocompleteQuery)
|
50
|
+
.reply(200, []);
|
51
|
+
|
52
|
+
const emptyRemotesScope = nockInstance
|
53
|
+
.get(flatpakRemotesPath)
|
54
|
+
.query(true)
|
55
|
+
.times(2)
|
56
|
+
.reply(200, {
|
57
|
+
total: 0,
|
58
|
+
subtotal: 0,
|
59
|
+
page: 1,
|
60
|
+
per_page: 20,
|
61
|
+
results: [],
|
62
|
+
can_create: true,
|
63
|
+
can_view: true,
|
64
|
+
});
|
65
|
+
|
66
|
+
const { queryByText } = renderWithRedux(<FlatpakRemotesPage />, renderOptions);
|
67
|
+
|
68
|
+
await patientlyWaitFor(() => {
|
69
|
+
expect(queryByText(/no results/i)).toBeInTheDocument();
|
70
|
+
});
|
71
|
+
|
72
|
+
assertNockRequest(emptyRemotesScope);
|
73
|
+
assertNockRequest(autocompleteScope);
|
74
|
+
});
|
@@ -26,9 +26,9 @@ const Hosts = ({
|
|
26
26
|
{ __('Some hosts are not registered as content hosts and will be ignored.') }
|
27
27
|
</p>
|
28
28
|
}
|
29
|
-
{contentHosts.length > 0 && (<Label
|
29
|
+
{contentHosts.length > 0 && (<Label as="button" color="green" onClick={() => setModalHosts(true)}>{titleHosts}: {contentHosts.length}</Label>)}
|
30
30
|
{' '}
|
31
|
-
{hostsWithoutContent.length > 0 && (<Label
|
31
|
+
{hostsWithoutContent.length > 0 && (<Label as="button" color="orange" onClick={() => setModalIgnored(true)}>{titleIgnored}: {hostsWithoutContent.length}</Label>)}
|
32
32
|
|
33
33
|
<HostsModal
|
34
34
|
hosts={contentHosts}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
export const selectTableSettings = (state, tableName) =>
|
1
|
+
const selectTableSettings = (state, tableName) =>
|
4
2
|
state.katello.settings?.tables[tableName] || undefined;
|
3
|
+
|
4
|
+
export default selectTableSettings;
|
data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap
CHANGED
@@ -27,7 +27,7 @@ exports[`subscriptions details page should render and contain appropiate compone
|
|
27
27
|
}
|
28
28
|
}
|
29
29
|
/>
|
30
|
-
<
|
30
|
+
<Uncontrolled(TabContainer)
|
31
31
|
defaultActiveKey={1}
|
32
32
|
id="subscription-tabs-container"
|
33
33
|
>
|
@@ -531,6 +531,6 @@ exports[`subscriptions details page should render and contain appropiate compone
|
|
531
531
|
</Grid>
|
532
532
|
</LoadingState>
|
533
533
|
</div>
|
534
|
-
</
|
534
|
+
</Uncontrolled(TabContainer)>
|
535
535
|
</div>
|
536
536
|
`;
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import { testReducerSnapshotWithFixtures } from 'react-redux-test-utils';
|
2
|
-
import { GET_SETTING_SUCCESS } from 'foremanReact/components/Settings/SettingsConstants';
|
3
2
|
|
4
3
|
import {
|
5
4
|
SUBSCRIPTIONS_REQUEST,
|
@@ -35,8 +34,6 @@ import {
|
|
35
34
|
REFRESH_MANIFEST_SUCCESS,
|
36
35
|
} from '../Manifest/ManifestConstants';
|
37
36
|
|
38
|
-
jest.mock('foremanReact/components/Settings/SettingsConstants');
|
39
|
-
|
40
37
|
const mockTask = {
|
41
38
|
id: '12345',
|
42
39
|
humanized: {
|
@@ -183,24 +180,6 @@ const fixtures = {
|
|
183
180
|
type: SUBSCRIPTIONS_ENABLE_DELETE_BUTTON,
|
184
181
|
},
|
185
182
|
},
|
186
|
-
'should handle GET_SETTING_SUCCESS with content_disconnected response': {
|
187
|
-
action: {
|
188
|
-
type: GET_SETTING_SUCCESS,
|
189
|
-
response: {
|
190
|
-
name: 'content_disconnected',
|
191
|
-
value: 'some-value',
|
192
|
-
},
|
193
|
-
},
|
194
|
-
},
|
195
|
-
'should handle GET_SETTING_SUCCESS without content_disconnected response': {
|
196
|
-
action: {
|
197
|
-
type: GET_SETTING_SUCCESS,
|
198
|
-
response: {
|
199
|
-
name: 'some-name',
|
200
|
-
value: 'some-value',
|
201
|
-
},
|
202
|
-
},
|
203
|
-
},
|
204
183
|
'should handle SUBSCRIPTIONS_RESET_TASKS': {
|
205
184
|
action: {
|
206
185
|
type: SUBSCRIPTIONS_RESET_TASKS,
|
@@ -98,50 +98,6 @@ Object {
|
|
98
98
|
}
|
99
99
|
`;
|
100
100
|
|
101
|
-
exports[`Subscriptions reducer should handle GET_SETTING_SUCCESS with content_disconnected response 1`] = `
|
102
|
-
Object {
|
103
|
-
"availableQuantities": null,
|
104
|
-
"deleteButtonDisabled": true,
|
105
|
-
"deleteModalOpened": false,
|
106
|
-
"hasUpstreamConnection": false,
|
107
|
-
"itemCount": 0,
|
108
|
-
"loading": true,
|
109
|
-
"manifestActionStarted": false,
|
110
|
-
"pagination": Object {
|
111
|
-
"page": 0,
|
112
|
-
"perPage": 20,
|
113
|
-
},
|
114
|
-
"quantitiesLoading": false,
|
115
|
-
"results": Array [],
|
116
|
-
"searchQuery": "",
|
117
|
-
"selectedTableColumns": Array [],
|
118
|
-
"tableColumns": Array [],
|
119
|
-
"task": null,
|
120
|
-
}
|
121
|
-
`;
|
122
|
-
|
123
|
-
exports[`Subscriptions reducer should handle GET_SETTING_SUCCESS without content_disconnected response 1`] = `
|
124
|
-
Object {
|
125
|
-
"availableQuantities": null,
|
126
|
-
"deleteButtonDisabled": true,
|
127
|
-
"deleteModalOpened": false,
|
128
|
-
"hasUpstreamConnection": false,
|
129
|
-
"itemCount": 0,
|
130
|
-
"loading": true,
|
131
|
-
"manifestActionStarted": false,
|
132
|
-
"pagination": Object {
|
133
|
-
"page": 0,
|
134
|
-
"perPage": 20,
|
135
|
-
},
|
136
|
-
"quantitiesLoading": false,
|
137
|
-
"results": Array [],
|
138
|
-
"searchQuery": "",
|
139
|
-
"selectedTableColumns": Array [],
|
140
|
-
"tableColumns": Array [],
|
141
|
-
"task": null,
|
142
|
-
}
|
143
|
-
`;
|
144
|
-
|
145
101
|
exports[`Subscriptions reducer should handle REFRESH_MANIFEST_SUCCESS 1`] = `
|
146
102
|
Object {
|
147
103
|
"availableQuantities": null,
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import { bindActionCreators } from 'redux';
|
2
2
|
import { connect } from 'react-redux';
|
3
|
-
import * as settingActions from 'foremanReact/components/Settings/SettingsActions';
|
4
3
|
import * as foremanModalActions from 'foremanReact/components/ForemanModal/ForemanModalActions';
|
5
4
|
import * as subscriptionActions from './SubscriptionActions';
|
6
5
|
import * as taskActions from '../Tasks/TaskActions';
|
@@ -17,7 +16,7 @@ import {
|
|
17
16
|
selectIsTaskPending,
|
18
17
|
selectHasUpstreamConnection,
|
19
18
|
} from './SubscriptionsSelectors';
|
20
|
-
import
|
19
|
+
import selectTableSettings from '../../scenes/Settings/SettingsSelectors';
|
21
20
|
import { selectIsPollingTask } from '../Tasks/TaskSelectors';
|
22
21
|
import { selectOrganizationState, selectIsManifestImported } from '../Organizations/OrganizationSelectors';
|
23
22
|
import { pingUpstreamSubscriptions } from './UpstreamSubscriptions/UpstreamSubscriptionsActions';
|
@@ -51,7 +50,6 @@ const actions = {
|
|
51
50
|
pingUpstreamSubscriptions,
|
52
51
|
...subscriptionActions,
|
53
52
|
...taskActions,
|
54
|
-
...settingActions,
|
55
53
|
...tableActions,
|
56
54
|
...manifestActions,
|
57
55
|
...foremanModalActions,
|
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.18.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: 2025-
|
11
|
+
date: 2025-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -164,20 +164,6 @@ dependencies:
|
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: 4.1.9
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: gettext_i18n_rails
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - ">="
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '0'
|
174
|
-
type: :runtime
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - ">="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
181
167
|
- !ruby/object:Gem::Dependency
|
182
168
|
name: apipie-rails
|
183
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -800,6 +786,7 @@ files:
|
|
800
786
|
- app/lib/actions/helpers/output_propagator.rb
|
801
787
|
- app/lib/actions/helpers/presenter.rb
|
802
788
|
- app/lib/actions/helpers/rolling_cv_repos.rb
|
789
|
+
- app/lib/actions/helpers/smart_proxy_sync_helper.rb
|
803
790
|
- app/lib/actions/helpers/smart_proxy_sync_history_helper.rb
|
804
791
|
- app/lib/actions/katello/activation_key/create.rb
|
805
792
|
- app/lib/actions/katello/activation_key/destroy.rb
|
@@ -1349,6 +1336,7 @@ files:
|
|
1349
1336
|
- app/overrides/override_taxonomy_actions.rb
|
1350
1337
|
- app/presenters/katello/activation_key_subscriptions_presenter.rb
|
1351
1338
|
- app/presenters/katello/content_view_version_compare_presenter.rb
|
1339
|
+
- app/presenters/katello/flatpak_remote_mirror_status_presenter.rb
|
1352
1340
|
- app/presenters/katello/host_deb_presenter.rb
|
1353
1341
|
- app/presenters/katello/host_package_presenter.rb
|
1354
1342
|
- app/presenters/katello/host_subscription_presenter.rb
|
@@ -2160,6 +2148,8 @@ files:
|
|
2160
2148
|
- db/migrate/20250215143303_drop_katello_yum_metadata_file.rb
|
2161
2149
|
- db/migrate/20250409120843_fix_file_download_policy.rb
|
2162
2150
|
- db/migrate/20250410155300_change_ansible_templates_category.rb
|
2151
|
+
- db/migrate/20250613210050_use_big_int_for_erratum_packages_id.rb
|
2152
|
+
- db/migrate/20250714190050_add_missing_rpms_evr_index.rb
|
2163
2153
|
- db/seeds.d/101-locations.rb
|
2164
2154
|
- db/seeds.d/102-organizations.rb
|
2165
2155
|
- db/seeds.d/104-proxy.rb
|
@@ -4841,6 +4831,13 @@ files:
|
|
4841
4831
|
- webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_ReviewFooter.js
|
4842
4832
|
- webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js
|
4843
4833
|
- webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/index.js
|
4834
|
+
- webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/01_BulkRepositorySetsTable.js
|
4835
|
+
- webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/03_Review.js
|
4836
|
+
- webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/03_ReviewFooter.js
|
4837
|
+
- webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/BulkRepositorySetsWizard.js
|
4838
|
+
- webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/actions.js
|
4839
|
+
- webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/helpers.js
|
4840
|
+
- webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/index.js
|
4844
4841
|
- webpack/components/extensions/Hosts/BulkActions/HostReview.js
|
4845
4842
|
- webpack/components/extensions/Hosts/BulkActions/__tests__/bulkChangeHostCVModal.test.js
|
4846
4843
|
- webpack/components/extensions/Hosts/FontAwesomeImageModeIcon.js
|
@@ -4859,6 +4856,7 @@ files:
|
|
4859
4856
|
- webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js
|
4860
4857
|
- webpack/components/extensions/RegistrationCommands/fields/Force.js
|
4861
4858
|
- webpack/components/extensions/RegistrationCommands/fields/IgnoreSubmanErrors.js
|
4859
|
+
- webpack/components/extensions/RegistrationCommands/fields/SetupContainerRegistryCerts.js
|
4862
4860
|
- webpack/components/extensions/RegistrationCommands/helpers.js
|
4863
4861
|
- webpack/components/extensions/RegistrationCommands/index.js
|
4864
4862
|
- webpack/components/extensions/SearchBar/SearchBarConstants.js
|
@@ -5287,6 +5285,28 @@ files:
|
|
5287
5285
|
- webpack/scenes/ContentViews/expansions/__tests__/relatedCompositeCvs.fixtures.json
|
5288
5286
|
- webpack/scenes/ContentViews/helpers.js
|
5289
5287
|
- webpack/scenes/ContentViews/index.js
|
5288
|
+
- webpack/scenes/FlatpakRemotes/CreateEdit/CreateFlatpakRemoteModal.js
|
5289
|
+
- webpack/scenes/FlatpakRemotes/CreateEdit/EditFlatpakRemotesModal.js
|
5290
|
+
- webpack/scenes/FlatpakRemotes/CreateEdit/FlatpakRemoteform.js
|
5291
|
+
- webpack/scenes/FlatpakRemotes/CreateEdit/__tests__/flatpakRemoteform.test.js
|
5292
|
+
- webpack/scenes/FlatpakRemotes/Delete/DeleteFlatpakModal.js
|
5293
|
+
- webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetailActions.js
|
5294
|
+
- webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetailReducers.js
|
5295
|
+
- webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetailSelectors.js
|
5296
|
+
- webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetails.js
|
5297
|
+
- webpack/scenes/FlatpakRemotes/Details/Mirror/MirrorRepositoryModal.js
|
5298
|
+
- webpack/scenes/FlatpakRemotes/Details/Mirror/__tests__/mirrorRepositoryModal.test.js
|
5299
|
+
- webpack/scenes/FlatpakRemotes/Details/RemoteRepositories/RemoteRepositoriesTable.js
|
5300
|
+
- webpack/scenes/FlatpakRemotes/Details/__tests__/flatpakRemoteDetails.fixtures.json
|
5301
|
+
- webpack/scenes/FlatpakRemotes/Details/__tests__/flatpakRemoteDetails.test.js
|
5302
|
+
- webpack/scenes/FlatpakRemotes/Details/index.js
|
5303
|
+
- webpack/scenes/FlatpakRemotes/FlatpakRemotesActions.js
|
5304
|
+
- webpack/scenes/FlatpakRemotes/FlatpakRemotesConstants.js
|
5305
|
+
- webpack/scenes/FlatpakRemotes/FlatpakRemotesPage.js
|
5306
|
+
- webpack/scenes/FlatpakRemotes/FlatpakRemotesSelectors.js
|
5307
|
+
- webpack/scenes/FlatpakRemotes/__tests__/flatpakRemotesList.fixtures.json
|
5308
|
+
- webpack/scenes/FlatpakRemotes/__tests__/flatpakRemotesPage.test.js
|
5309
|
+
- webpack/scenes/FlatpakRemotes/index.js
|
5290
5310
|
- webpack/scenes/Hosts/ChangeContentSource/actions.js
|
5291
5311
|
- webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js
|
5292
5312
|
- webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceTemplate.js
|
@@ -5380,8 +5400,6 @@ files:
|
|
5380
5400
|
- webpack/scenes/RedHatRepositories/helpers.js
|
5381
5401
|
- webpack/scenes/RedHatRepositories/index.js
|
5382
5402
|
- webpack/scenes/RedHatRepositories/index.scss
|
5383
|
-
- webpack/scenes/Settings/SettingsConstants.js
|
5384
|
-
- webpack/scenes/Settings/SettingsReducer.js
|
5385
5403
|
- webpack/scenes/Settings/SettingsSelectors.js
|
5386
5404
|
- webpack/scenes/Settings/Tables/TableActions.js
|
5387
5405
|
- webpack/scenes/Settings/Tables/TableConstants.js
|
@@ -5544,11 +5562,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
5544
5562
|
version: '4'
|
5545
5563
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
5546
5564
|
requirements:
|
5547
|
-
- - "
|
5565
|
+
- - ">"
|
5548
5566
|
- !ruby/object:Gem::Version
|
5549
|
-
version:
|
5567
|
+
version: 1.3.1
|
5550
5568
|
requirements: []
|
5551
|
-
rubygems_version: 3.
|
5569
|
+
rubygems_version: 3.2.33
|
5552
5570
|
signing_key:
|
5553
5571
|
specification_version: 4
|
5554
5572
|
summary: Content and Subscription Management plugin for Foreman
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import { GET_SETTING_SUCCESS } from 'foremanReact/components/Settings/SettingsConstants';
|
2
|
-
import { CONTENT_DISCONNECTED } from './SettingsConstants';
|
3
|
-
|
4
|
-
export default (state, action) => {
|
5
|
-
switch (action.type) {
|
6
|
-
case GET_SETTING_SUCCESS: {
|
7
|
-
const { name, value } = action.response;
|
8
|
-
switch (name) {
|
9
|
-
case CONTENT_DISCONNECTED:
|
10
|
-
return state.set('disconnected', value);
|
11
|
-
default:
|
12
|
-
return state;
|
13
|
-
}
|
14
|
-
}
|
15
|
-
|
16
|
-
default:
|
17
|
-
return state;
|
18
|
-
}
|
19
|
-
};
|