katello 4.8.4 → 4.9.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/hosts/host_and_hostgroup_edit.js +40 -4
- data/app/assets/javascripts/katello/locale/bn/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/cs/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/de/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/en/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/es/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/fr/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/gu/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/hi/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/it/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/ja/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/ka/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/kn/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/ko/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/locale/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/mr/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/or/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/pa/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/pt/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/ru/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/ta/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/te/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +1 -0
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +1 -0
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +10 -0
- data/app/controllers/katello/api/v2/activation_keys_controller.rb +1 -0
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +2 -0
- data/app/controllers/katello/api/v2/content_views_controller.rb +22 -12
- data/app/controllers/katello/api/v2/environments_controller.rb +5 -1
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +1 -1
- data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +1 -2
- data/app/controllers/katello/api/v2/organizations_controller.rb +11 -0
- data/app/controllers/katello/api/v2/repositories_controller.rb +4 -3
- data/app/controllers/katello/api/v2/repository_sets_controller.rb +13 -4
- data/app/controllers/katello/api/v2/simple_content_access_controller.rb +1 -3
- data/app/controllers/katello/concerns/api/api_controller.rb +2 -2
- data/app/controllers/katello/concerns/content_facet_hosts_controller_extensions.rb +1 -1
- data/app/helpers/katello/hosts_and_hostgroups_helper.rb +6 -4
- data/app/lib/actions/candlepin/product/content_add.rb +13 -1
- data/app/lib/actions/candlepin/product/content_update.rb +2 -1
- data/app/lib/actions/katello/agent_action.rb +3 -4
- data/app/lib/actions/katello/bulk_agent_action.rb +1 -4
- data/app/lib/actions/katello/content_view/publish.rb +1 -0
- data/app/lib/actions/katello/content_view_version/incremental_update.rb +1 -0
- data/app/lib/actions/katello/host/update_content_view.rb +2 -4
- data/app/lib/actions/katello/organization/simple_content_access/enable.rb +0 -10
- data/app/lib/actions/katello/organization/simple_content_access/toggle.rb +2 -12
- data/app/lib/actions/katello/product/content_create.rb +2 -2
- data/app/lib/actions/katello/repository/destroy.rb +15 -7
- data/app/lib/actions/katello/repository/update.rb +23 -1
- data/app/lib/actions/pulp3/abstract_async_task.rb +2 -0
- data/app/lib/actions/pulp3/orchestration/repository/generate_metadata.rb +5 -12
- data/app/lib/katello/concerns/base_template_scope_extensions.rb +34 -2
- data/app/lib/katello/event_daemon/runner.rb +8 -4
- data/app/lib/katello/repo_discovery.rb +3 -1
- data/app/lib/katello/resources/cdn/katello_cdn.rb +4 -8
- data/app/lib/katello/util/default_enablement_migrator.rb +183 -0
- data/app/models/katello/activation_key.rb +4 -0
- data/app/models/katello/alternate_content_source.rb +13 -8
- data/app/models/katello/candlepin/repository_mapper.rb +0 -1
- data/app/models/katello/concerns/content_view_filter_rule_common.rb +42 -0
- data/app/models/katello/concerns/host_managed_extensions.rb +9 -40
- data/app/models/katello/concerns/smart_proxy_extensions.rb +24 -23
- data/app/models/katello/content.rb +9 -0
- data/app/models/katello/content_view.rb +99 -4
- data/app/models/katello/content_view_environment_content_facet.rb +12 -0
- data/app/models/katello/content_view_filter.rb +5 -1
- data/app/models/katello/content_view_package_filter_rule.rb +0 -1
- data/app/models/katello/content_view_repository.rb +0 -1
- data/app/models/katello/content_view_version.rb +26 -0
- data/app/models/katello/docker_meta_tag.rb +4 -0
- data/app/models/katello/host/content_facet.rb +2 -0
- data/app/models/katello/kt_environment.rb +13 -3
- data/app/models/katello/ping.rb +1 -1
- data/app/models/katello/product.rb +1 -1
- data/app/models/katello/product_content.rb +13 -15
- data/app/models/katello/root_repository.rb +21 -2
- data/app/models/katello/sync_plan.rb +2 -6
- data/app/presenters/katello/host_package_presenter.rb +5 -3
- data/app/services/katello/product_content_finder.rb +6 -1
- data/app/services/katello/pulp3/alternate_content_source.rb +5 -0
- data/app/services/katello/pulp3/module_stream.rb +2 -12
- data/app/services/katello/pulp3/repository/yum.rb +3 -0
- data/app/views/foreman/job_templates/install_errata.erb +4 -4
- data/app/views/foreman/job_templates/install_errata_-_katello_ansible_default.erb +4 -7
- data/app/views/foreman/job_templates/install_errata_by_search_query.erb +5 -6
- data/app/views/katello/api/v2/activation_keys/base.json.rabl +6 -0
- data/app/views/katello/api/v2/common/destroy.json.rabl +2 -1
- data/app/views/katello/api/v2/content_credentials/show.json.rabl +1 -1
- data/app/views/katello/api/v2/content_facet/base.json.rabl +10 -9
- data/app/views/katello/api/v2/content_view_repositories/show_all.json.rabl +6 -0
- data/app/views/katello/api/v2/content_view_versions/base.json.rabl +11 -1
- data/app/views/katello/api/v2/content_views/base.json.rabl +3 -0
- data/app/views/katello/api/v2/docker_tags/_base.json.rabl +4 -0
- data/app/views/katello/api/v2/environments/show.json.rabl +10 -0
- data/app/views/katello/api/v2/host_subscriptions/show.json.rabl +1 -0
- data/app/views/katello/api/v2/repositories/index.json.rabl +6 -0
- data/app/views/katello/api/v2/repositories/show.json.rabl +1 -0
- data/app/views/katello/api/v2/repository_sets/show.json.rabl +8 -2
- data/app/views/overrides/activation_keys/_host_environment_select.html.erb +22 -15
- data/app/views/smart_proxies/_disk_usage.html.erb +2 -0
- data/ca/redhat-uep.pem +53 -53
- data/db/migrate/20220228173251_remove_drpm_from_ignorable_content.rb +0 -1
- data/db/migrate/20230328180352_add_applied_filters_to_katello_content_view_versions.rb +5 -0
- data/db/migrate/20230503190626_add_metadata_expire_to_root.rb +5 -0
- data/db/seeds.d/111-upgrade_tasks.rb +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-associations.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +16 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-associations-content-hosts.html +4 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-repository-sets.html +15 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/katello-agent-notice.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/views/content-credentials.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-host-bulk-module-streams-modal.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-environment-modal.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +10 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-host-collections-modal.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-repository-sets-modal.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-traces-modal.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-applicable.html +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-installed.html +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +2 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +2 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +0 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-info.html +12 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-repositories.controller.js +43 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-details.html +7 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-environments.html +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-info.html +0 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-repositories.html +60 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.controller.js +0 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.routes.js +10 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/views/docker-tags.html +0 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-content-hosts.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-content-hosts.html +5 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-info.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-packages.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +7 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-add-hosts.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-hosts.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-add-hosts.html +4 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-hosts-list.html +4 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +590 -175
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +5204 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +5153 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +5159 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +5158 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +5153 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +5153 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +5191 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +5136 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +5303 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +34 -14
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +5153 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +5161 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +5192 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +5187 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +5174 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +5170 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +5170 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +5279 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +5191 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +5158 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +5157 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +5136 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +5136 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +5136 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +38 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/views/organization-selector.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/package.controller.js +8 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package-info.html +12 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-advanced-sync-modal.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-http-proxy-modal.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-sync-plan-modal.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +13 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +12 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details-reclaim-space-modal.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +17 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifest-lists.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifests.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-tags.html +0 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +6 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +20 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository.factory.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories-reclaim-space-modal.html +1 -1
- data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/activation_keys.scss +13 -0
- data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/bastion_katello.scss +1 -0
- data/lib/katello/engine.rb +0 -7
- data/lib/katello/plugin.rb +18 -15
- data/lib/katello/tasks/upgrades/4.9/update_custom_products_enablement.rake +11 -0
- data/lib/katello/version.rb +1 -1
- data/locale/action_names.rb +1 -2
- data/locale/bn/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn/katello.po +215 -183
- data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn_IN/katello.po +8901 -0
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/katello.po +8900 -0
- data/locale/cs/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs/katello.po +216 -185
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +8906 -0
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +223 -191
- data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_AT/katello.po +8897 -0
- data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_DE/katello.po +8906 -0
- data/locale/el/LC_MESSAGES/katello.mo +0 -0
- data/locale/el/katello.po +8900 -0
- data/locale/en/LC_MESSAGES/katello.mo +0 -0
- data/locale/en/katello.po +215 -183
- data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_GB/katello.po +8902 -0
- data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_US/katello.po +8897 -0
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +218 -187
- data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
- data/locale/et_EE/katello.po +8897 -0
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +233 -204
- data/locale/gl/LC_MESSAGES/katello.mo +0 -0
- data/locale/gl/katello.po +8900 -0
- data/locale/gu/LC_MESSAGES/katello.mo +0 -0
- data/locale/gu/katello.po +215 -183
- data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
- data/locale/he_IL/katello.po +8902 -0
- data/locale/hi/LC_MESSAGES/katello.mo +0 -0
- data/locale/hi/katello.po +215 -183
- data/locale/id/LC_MESSAGES/katello.mo +0 -0
- data/locale/id/katello.po +8896 -0
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +216 -185
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +233 -202
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/katello.po +223 -191
- data/locale/katello.pot +1844 -1796
- data/locale/kn/LC_MESSAGES/katello.mo +0 -0
- data/locale/kn/katello.po +215 -183
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +216 -183
- data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ml_IN/katello.po +8897 -0
- data/locale/mr/LC_MESSAGES/katello.mo +0 -0
- data/locale/mr/katello.po +215 -183
- data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
- data/locale/nl_NL/katello.po +8907 -0
- data/locale/or/LC_MESSAGES/katello.mo +0 -0
- data/locale/or/katello.po +215 -183
- data/locale/pa/LC_MESSAGES/katello.mo +0 -0
- data/locale/pa/katello.po +215 -183
- data/locale/pl/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl/katello.po +8903 -0
- data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl_PL/katello.po +8899 -0
- data/locale/pt/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt/katello.po +215 -183
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +218 -187
- data/locale/ro/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro/katello.po +8897 -0
- data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro_RO/katello.po +8898 -0
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +216 -184
- data/locale/sl/LC_MESSAGES/katello.mo +0 -0
- data/locale/sl/katello.po +8901 -0
- data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
- data/locale/sv_SE/katello.po +8903 -0
- data/locale/ta/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta/katello.po +215 -183
- data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta_IN/katello.po +8901 -0
- data/locale/te/LC_MESSAGES/katello.mo +0 -0
- data/locale/te/katello.po +215 -183
- data/locale/tr/LC_MESSAGES/katello.mo +0 -0
- data/locale/tr/katello.po +8900 -0
- data/locale/vi/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi/katello.po +8896 -0
- data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi_VN/katello.po +8897 -0
- data/locale/zh/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh/katello.po +8896 -0
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +233 -202
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +216 -183
- data/package.json +1 -0
- data/webpack/__mocks__/foremanReact/Root/Context/ForemanContext.js +1 -0
- data/webpack/components/Bookmark/AddBookmarkModal.js +8 -2
- data/webpack/components/Content/ContentTable.js +1 -0
- data/webpack/components/Content/Details/ContentDetailInfo.js +1 -1
- data/webpack/components/Content/Details/ContentDetails.js +3 -3
- data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetailInfo.test.js.snap +1 -0
- data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetails.test.js.snap +4 -0
- data/webpack/components/Content/__tests__/__snapshots__/ContentTable.test.js.snap +1 -0
- data/webpack/components/RoutedTabs/index.js +1 -1
- data/webpack/components/SelectOrg/SetOrganization.js +7 -1
- data/webpack/components/Table/EmptyStateMessage.js +8 -3
- data/webpack/components/Table/MainTable.js +8 -2
- data/webpack/components/TooltipButton/TooltipButton.js +2 -2
- data/webpack/components/TooltipButton/__snapshots__/TooltipButton.test.js.snap +3 -0
- data/webpack/components/extensions/HostDetails/ActionsBar/index.js +2 -0
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ChangeHostCVModal.js +81 -24
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ChangeHostCVModal.scss +3 -0
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ContentViewDetailsCard.js +10 -3
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/HostContentViewActions.js +8 -0
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.js +3 -2
- data/webpack/components/extensions/HostDetails/DetailsTabCards/HwPropertiesCard.js +3 -1
- data/webpack/components/extensions/HostDetails/Tabs/ContentTab/SecondaryTabsRoutes.js +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +0 -4
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErratumExpansionDetail.js +2 -2
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +1 -5
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionActions.js +20 -0
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionConstants.js +1 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsConstants.js +16 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +54 -8
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesEnabler.js +1 -0
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +8 -1
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/Force.test.js.snap +1 -0
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/IgnoreSubmanErrors.test.js.snap +1 -0
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/LifeCycleEnvironment.test.js.snap +1 -0
- data/webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js +2 -1
- data/webpack/components/extensions/RegistrationCommands/fields/Force.js +1 -0
- data/webpack/components/extensions/RegistrationCommands/fields/IgnoreSubmanErrors.js +1 -0
- data/webpack/components/extensions/RegistrationCommands/fields/LifecycleEnvironment.js +1 -0
- data/webpack/components/extensions/about/index.js +2 -2
- data/webpack/components/pf3Table/components/Table.js +1 -0
- data/webpack/scenes/AlternateContentSources/ACSIndexPage.js +6 -1
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCredentials.js +15 -2
- data/webpack/scenes/AlternateContentSources/Create/Steps/SelectSource.js +6 -1
- data/webpack/scenes/AlternateContentSources/Details/ACSExpandableDetails.js +4 -1
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditCredentials.js +9 -0
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditURLPaths.js +1 -0
- data/webpack/scenes/Content/Details/ContentDetails.js +4 -2
- data/webpack/scenes/Content/Details/ContentRepositories.js +1 -1
- data/webpack/scenes/Content/GenericContentPage.js +1 -1
- data/webpack/scenes/Content/Table/ContentTable.js +2 -2
- data/webpack/scenes/ContentViews/ContentViewsConstants.js +4 -0
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignActivationKeysForm.js +26 -13
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignHostsForm.js +27 -13
- data/webpack/scenes/ContentViews/Delete/__tests__/cvVersionsData.fixtures.json +8 -4
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewAddModal.js +3 -2
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentEnvironments.js +1 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +25 -24
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +1 -1
- data/webpack/scenes/ContentViews/Details/ContentViewDetailActions.js +19 -3
- data/webpack/scenes/ContentViews/Details/ContentViewDetailReducer.js +6 -0
- data/webpack/scenes/ContentViews/Details/ContentViewDetailSelectors.js +2 -0
- data/webpack/scenes/ContentViews/Details/Filters/Add/CVFilterAddModal.js +2 -2
- data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +15 -2
- data/webpack/scenes/ContentViews/Details/Filters/ArtifactsWithNoErrata.js +5 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +13 -9
- data/webpack/scenes/ContentViews/Details/Filters/CVDebFilterContent.js +19 -6
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +5 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +50 -51
- data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +45 -44
- data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +45 -44
- data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +13 -8
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +4 -3
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +5 -2
- data/webpack/scenes/ContentViews/Details/Filters/FilterRuleConstants.js +6 -0
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/CVDebMatchContentModal.js +3 -2
- data/webpack/scenes/ContentViews/Details/Filters/Rules/ContainerTag/AddEditContainerTagRuleModal.js +10 -2
- data/webpack/scenes/ContentViews/Details/Filters/Rules/DebPackage/AddEditDebPackageRuleModal.js +5 -1
- data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +7 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +37 -24
- data/webpack/scenes/ContentViews/Details/Histories/ContentViewHistories.js +3 -3
- data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.test.js +1 -1
- data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +78 -8
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +27 -8
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewDetailNoReposAdded.fixtures.json +13 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/ActionSummary.js +1 -1
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignActivationKeys.js +16 -16
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignHosts.js +16 -16
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/BulkDeleteVersions.fixtures.json +6 -3
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/contentViewVersion.fixtures.json +10 -5
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareConfig.js +9 -2
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareTable.js +1 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/contentViewVersionOneDetials.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/contentViewVersionThreeDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/contentViewVersionTwoDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/contentViewVersions.fixtures.json +12 -6
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/emptyStateCVVersionOneDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/emptyStateCVVersionTwoDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +25 -4
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVEnvironmentSelectionForm.js +4 -2
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignActivationKeysForm.js +26 -13
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignHostsForm.js +30 -17
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +1 -0
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/versionsResponseData.fixtures.json +6 -3
- data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedActivationKeys.js +1 -1
- data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedHosts.js +2 -2
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailConfig.js +8 -1
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetails.js +1 -1
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsHeader.js +55 -6
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionComponent.fixtures.json +6 -3
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.fixtures.json +8 -4
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +1 -1
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersionsWithTask.fixtures.json +4 -2
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetails.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Publish/CVPublishFinish.js +4 -2
- data/webpack/scenes/ContentViews/Publish/CVPublishForm.js +30 -3
- data/webpack/scenes/ContentViews/Publish/CVPublishReview.js +24 -2
- data/webpack/scenes/ContentViews/Publish/cvPublishForm.scss +4 -0
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +2 -2
- data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +1 -3
- data/webpack/scenes/ContentViews/__tests__/mockDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelect.js +2 -1
- data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelectOption.js +3 -2
- data/webpack/scenes/ContentViews/components/ContentViewSelect/helpers.js +32 -0
- data/webpack/scenes/ContentViews/components/ContentViewsCounter.js +52 -42
- data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.js +1 -0
- data/webpack/scenes/ContentViews/components/FiltersAppliedIcon.js +17 -0
- data/webpack/scenes/ContentViews/components/NeedsPublishIcon.js +45 -0
- data/webpack/scenes/ContentViews/components/NeedsPublishIcon.scss +9 -0
- data/webpack/scenes/ContentViews/expansions/RelatedContentViewComponentsModal.js +1 -1
- data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +49 -22
- data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceTemplate.js +7 -1
- data/webpack/scenes/Hosts/ChangeContentSource/components/FormField.js +1 -0
- data/webpack/scenes/Hosts/ChangeContentSource/components/HostsModal.js +2 -0
- data/webpack/scenes/Hosts/ChangeContentSource/index.js +2 -0
- data/webpack/scenes/ModuleStreams/Details/__tests__/__snapshots__/ModuleStreamDetailInfo.test.js.snap +1 -0
- data/webpack/scenes/ModuleStreams/__tests__/__snapshots__/ModuleStreamsTable.test.js.snap +1 -0
- data/webpack/scenes/RedHatRepositories/RedHatRepositoriesPage.js +2 -0
- data/webpack/scenes/RedHatRepositories/__tests__/__snapshots__/RedHatRepositoriesPage.test.js.snap +2 -0
- data/webpack/scenes/RedHatRepositories/components/RecommendedRepositorySetsToggler.js +6 -1
- data/webpack/scenes/RedHatRepositories/components/RepositorySetRepositories.js +1 -1
- data/webpack/scenes/RedHatRepositories/components/__tests__/__snapshots__/RecommendedRepositorySetsToggler.test.js.snap +1 -0
- data/webpack/scenes/RedHatRepositories/components/__tests__/__snapshots__/RepositorySetRepositories.test.js.snap +1 -0
- data/webpack/scenes/RedHatRepositories/helpers.js +2 -0
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailAssociations.js +1 -1
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailInfo.js +2 -2
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetails.js +4 -4
- data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailAssociations.test.js.snap +1 -0
- data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailInfo.test.js.snap +2 -0
- data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +4 -0
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/NetworkSyncForm.js +2 -1
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +5 -4
- data/webpack/scenes/Subscriptions/Manifest/SimpleContentAccess.js +1 -0
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +1 -1
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +3 -1
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/__snapshots__/UpstreamSubscriptionsPage.test.js.snap +3 -0
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +1 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.js +5 -6
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/__snapshots__/SubscriptionsToolbar.test.js.snap +60 -5
- data/webpack/utils/useKatelloDocUrl.js +18 -0
- metadata +163 -22
- data/app/lib/actions/katello/organization/simple_content_access/prepare_content_overrides.rb +0 -36
- data/app/lib/katello/util/content_overrides_migrator.rb +0 -98
- data/webpack/components/extensions/HostDetails/common/KatelloAgentDeprecationAlert.js +0 -23
@@ -0,0 +1,45 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { translate as __ } from 'foremanReact/common/I18n';
|
3
|
+
import PropTypes from 'prop-types';
|
4
|
+
import { Tooltip } from '@patternfly/react-core';
|
5
|
+
import { ArrowCircleUpIcon } from '@patternfly/react-icons';
|
6
|
+
import './NeedsPublishIcon.scss';
|
7
|
+
|
8
|
+
const tooltipContent = (composite, determinate) => {
|
9
|
+
let content = '';
|
10
|
+
if (determinate) {
|
11
|
+
content = composite ? __('Updates available: Component content view versions have been updated.') :
|
12
|
+
__('Updates available: Repositories and/or filters have changed.');
|
13
|
+
} else {
|
14
|
+
content = __('We could not determine if publish is required for the content view. ' +
|
15
|
+
'Audit records may have been cleaned or not created for this version.');
|
16
|
+
}
|
17
|
+
return content;
|
18
|
+
};
|
19
|
+
|
20
|
+
const NeedsPublishIcon = ({ composite, determinate }) => (
|
21
|
+
<Tooltip
|
22
|
+
position="auto"
|
23
|
+
enableFlip
|
24
|
+
entryDelay={400}
|
25
|
+
content={tooltipContent(composite, determinate)}
|
26
|
+
>
|
27
|
+
<ArrowCircleUpIcon
|
28
|
+
id={determinate ? 'determinate-needs-publish' : 'indeterminate-needs-publish'}
|
29
|
+
size="sm"
|
30
|
+
className={determinate ? 'determinate-needs-publish' : 'indeterminate-needs-publish'}
|
31
|
+
/>
|
32
|
+
</Tooltip>
|
33
|
+
);
|
34
|
+
|
35
|
+
NeedsPublishIcon.propTypes = {
|
36
|
+
composite: PropTypes.bool,
|
37
|
+
determinate: PropTypes.bool,
|
38
|
+
};
|
39
|
+
|
40
|
+
NeedsPublishIcon.defaultProps = {
|
41
|
+
composite: false,
|
42
|
+
determinate: false,
|
43
|
+
};
|
44
|
+
|
45
|
+
export default NeedsPublishIcon;
|
@@ -83,7 +83,7 @@ const RelatedContentViewsModal = ({ cvName, cvId, relatedCVCount }) => {
|
|
83
83
|
</Thead>
|
84
84
|
<Tbody>
|
85
85
|
{results?.map(details => (
|
86
|
-
<Tr key={details.content_view.id} ouiaId={details.content_view.id}>
|
86
|
+
<Tr key={`${details.content_view.id}`} ouiaId={`${details.content_view.id}`}>
|
87
87
|
<Td>
|
88
88
|
<Link to={urlBuilder(`content_views/${details.content_view.id}`, '')}>{details.content_view.name}</Link>
|
89
89
|
</Td>
|
@@ -22,6 +22,8 @@ import EnvironmentPaths from '../../../../scenes/ContentViews/components/Environ
|
|
22
22
|
import ContentViewSelect from '../../../../scenes/ContentViews/components/ContentViewSelect/ContentViewSelect';
|
23
23
|
import ContentViewSelectOption from '../../../../scenes/ContentViews/components/ContentViewSelect/ContentViewSelectOption';
|
24
24
|
import { selectContentViewsStatus } from '../selectors';
|
25
|
+
import { getCVPlaceholderText, shouldDisableCVSelect } from '../../../ContentViews/components/ContentViewSelect/helpers';
|
26
|
+
import { selectEnvironmentPaths } from '../../../ContentViews/components/EnvironmentPaths/EnvironmentPathSelectors';
|
25
27
|
|
26
28
|
const ENV_PATH_OPTIONS = { key: ENVIRONMENT_PATHS_KEY };
|
27
29
|
|
@@ -52,7 +54,7 @@ const ContentSourceSelect = ({
|
|
52
54
|
{contentSources.map(cs => (
|
53
55
|
<SelectOption
|
54
56
|
key={cs.id}
|
55
|
-
value={cs.id}
|
57
|
+
value={`${cs.id}`}
|
56
58
|
>
|
57
59
|
{cs.name}
|
58
60
|
</SelectOption>
|
@@ -95,12 +97,15 @@ const ContentSourceForm = ({
|
|
95
97
|
isLoading,
|
96
98
|
hostsUpdated,
|
97
99
|
}) => {
|
100
|
+
const pathsUrl = `/organizations/${orgId()}/environments/paths?permission_type=promotable${contentSourceId ? `&content_source_id=${contentSourceId}` : ''}`;
|
98
101
|
useAPI( // No TableWrapper here, so we can useAPI from Foreman
|
99
102
|
'get',
|
100
|
-
api.getApiUrl(
|
103
|
+
api.getApiUrl(pathsUrl),
|
101
104
|
ENV_PATH_OPTIONS,
|
102
105
|
);
|
103
106
|
const contentViewsStatus = useSelector(selectContentViewsStatus);
|
107
|
+
const environmentPathResponse = useSelector(selectEnvironmentPaths);
|
108
|
+
const envList = environmentPathResponse?.results?.map(path => path.environments).flat();
|
104
109
|
const [csSelectOpen, setCSSelectOpen] = useState(false);
|
105
110
|
const [cvSelectOpen, setCVSelectOpen] = useState(false);
|
106
111
|
|
@@ -126,6 +131,20 @@ const ContentSourceForm = ({
|
|
126
131
|
const viewIsDisabled = (isLoading || contentViews.length === 0 ||
|
127
132
|
contentSourceId === '' || environments === []);
|
128
133
|
|
134
|
+
const cvPlaceholderText = getCVPlaceholderText({
|
135
|
+
contentSourceId,
|
136
|
+
environments,
|
137
|
+
contentViewsStatus,
|
138
|
+
cvSelectOptions: contentViews,
|
139
|
+
});
|
140
|
+
|
141
|
+
const disableCVSelect = shouldDisableCVSelect({
|
142
|
+
contentSourceId,
|
143
|
+
environments,
|
144
|
+
contentViewsStatus,
|
145
|
+
cvSelectOptions: contentViews,
|
146
|
+
});
|
147
|
+
|
129
148
|
return (
|
130
149
|
<Form
|
131
150
|
onSubmit={e => handleSubmit(e)}
|
@@ -137,6 +156,7 @@ const ContentSourceForm = ({
|
|
137
156
|
|
138
157
|
<GridItem span={7}>
|
139
158
|
<Alert
|
159
|
+
ouiaId="no-hosts-alert"
|
140
160
|
variant="danger"
|
141
161
|
className="margin-top-20"
|
142
162
|
title={__('No hosts found')}
|
@@ -146,6 +166,7 @@ const ContentSourceForm = ({
|
|
146
166
|
{contentViewsStatus === STATUS.RESOLVED &&
|
147
167
|
!!environments.length && contentViews.length === 0 &&
|
148
168
|
<Alert
|
169
|
+
ouiaId="no-cv-alert"
|
149
170
|
variant="warning"
|
150
171
|
className="margin-top-20"
|
151
172
|
title={__('No content views available for the selected environment')}
|
@@ -165,6 +186,17 @@ const ContentSourceForm = ({
|
|
165
186
|
isOpen={csSelectOpen}
|
166
187
|
isDisabled={contentSourcesIsDisabled || hostsUpdated}
|
167
188
|
/>
|
189
|
+
{envList?.some(env => env?.content_source?.environment_is_associated === false) &&
|
190
|
+
<Alert
|
191
|
+
ouiaId="disabled-environments-alert"
|
192
|
+
variant="info"
|
193
|
+
isInline
|
194
|
+
title={__('Some environments are disabled because they are not associated with the selected content source.')}
|
195
|
+
style={{ marginBottom: '1rem' }}
|
196
|
+
>
|
197
|
+
{__('To enable them, add the environment to the content source, or select a different content source.')}
|
198
|
+
</Alert>
|
199
|
+
}
|
168
200
|
<EnvironmentPaths
|
169
201
|
style={{ display: 'block' }}
|
170
202
|
userCheckedItems={environments}
|
@@ -174,30 +206,25 @@ const ContentSourceForm = ({
|
|
174
206
|
headerText={__('Environment')}
|
175
207
|
isDisabled={environmentIsDisabled || hostsUpdated}
|
176
208
|
/>
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
key={cv.id}
|
192
|
-
cv={cv}
|
193
|
-
env={environments[0]}
|
194
|
-
/>))}
|
195
|
-
</ContentViewSelect>
|
196
|
-
}
|
209
|
+
<ContentViewSelect
|
210
|
+
selections={contentViewName}
|
211
|
+
onClear={() => handleContentView(null)}
|
212
|
+
onSelect={handleCVSelect}
|
213
|
+
isOpen={cvSelectOpen}
|
214
|
+
isDisabled={viewIsDisabled || hostsUpdated || disableCVSelect}
|
215
|
+
onToggle={isExpanded => setCVSelectOpen(isExpanded)}
|
216
|
+
headerText={__('Content view')}
|
217
|
+
ouiaId="SelectContentView"
|
218
|
+
className="set-select-width"
|
219
|
+
placeholderText={cvPlaceholderText}
|
220
|
+
>
|
221
|
+
{!environmentIsDisabled && contentViews?.map(cv => <ContentViewSelectOption key={`${cv.id}`} value={`${cv.name}`} cv={cv} env={environments[0]} />)}
|
222
|
+
</ContentViewSelect>
|
197
223
|
<ActionGroup style={{ display: 'block' }}>
|
198
224
|
<Button
|
199
225
|
variant="primary"
|
200
226
|
id="generate_btn"
|
227
|
+
ouiaId="update-source-button"
|
201
228
|
onClick={e => handleSubmit(e)}
|
202
229
|
isDisabled={isLoading || !formIsValid() || hostsUpdated}
|
203
230
|
isLoading={isLoading}
|
@@ -41,7 +41,13 @@ const ContentSourceTemplate = ({ template, jobInvocationPath }) => {
|
|
41
41
|
return (
|
42
42
|
<Grid>
|
43
43
|
<GridItem span={7}>
|
44
|
-
<Alert
|
44
|
+
<Alert
|
45
|
+
ouiaId="host-configuration-alert"
|
46
|
+
variant="warning"
|
47
|
+
title={__('Host configurations are not updated yet')}
|
48
|
+
className="margin-top-20"
|
49
|
+
isInline
|
50
|
+
>
|
45
51
|
<FormattedMessage
|
46
52
|
id="ccs_alert"
|
47
53
|
values={{
|
@@ -19,6 +19,7 @@ const HostsModal = ({
|
|
19
19
|
|
20
20
|
return (
|
21
21
|
<Modal
|
22
|
+
ouiaId="hosts-modal-modal"
|
22
23
|
variant={ModalVariant.small}
|
23
24
|
title={modalTitle}
|
24
25
|
position="top"
|
@@ -35,6 +36,7 @@ const HostsModal = ({
|
|
35
36
|
{(search ? hosts.filter(h => (`${h.name}`).includes(search)) : hosts).map(h => (
|
36
37
|
<ListItem key={h.id}>
|
37
38
|
<Button
|
39
|
+
ouiaId={`hosts-modal-button-${h.id}`}
|
38
40
|
component="a"
|
39
41
|
href={foremanUrl(`/new/hosts/${h.name}`)}
|
40
42
|
variant="link"
|
@@ -122,6 +122,7 @@ const ChangeContentSourcePage = () => {
|
|
122
122
|
<Grid className="margin-left-20">
|
123
123
|
<GridItem span={7}>
|
124
124
|
<Title
|
125
|
+
ouiaId="change-cs-title"
|
125
126
|
headingLevel="h5"
|
126
127
|
size="2xl"
|
127
128
|
>
|
@@ -131,6 +132,7 @@ const ChangeContentSourcePage = () => {
|
|
131
132
|
{noHostSpecified &&
|
132
133
|
<GridItem span={7}>
|
133
134
|
<Alert
|
135
|
+
ouiaId="no-host-alert"
|
134
136
|
variant="danger"
|
135
137
|
className="margin-top-20"
|
136
138
|
title={__('No hosts were specified')}
|
@@ -49,6 +49,7 @@ class RedHatRepositoriesPage extends Component {
|
|
49
49
|
<Row className="toolbar-pf">
|
50
50
|
<Col>
|
51
51
|
<Alert
|
52
|
+
ouiaId="repo-sets-alert"
|
52
53
|
variant="info"
|
53
54
|
className="repo-sets-alert"
|
54
55
|
isInline
|
@@ -96,6 +97,7 @@ class RedHatRepositoriesPage extends Component {
|
|
96
97
|
<h2>
|
97
98
|
{__('Enabled Repositories')}
|
98
99
|
<Button
|
100
|
+
ouiaId="export-csv-button"
|
99
101
|
className="pull-right"
|
100
102
|
onClick={() => { api.open('/repositories.csv', repoParams); }}
|
101
103
|
>
|
data/webpack/scenes/RedHatRepositories/__tests__/__snapshots__/RedHatRepositoriesPage.test.js.snap
CHANGED
@@ -97,6 +97,7 @@ exports[`RedHatRepositories page should render 1`] = `
|
|
97
97
|
className="pull-right"
|
98
98
|
disabled={false}
|
99
99
|
onClick={[Function]}
|
100
|
+
ouiaId="export-csv-button"
|
100
101
|
>
|
101
102
|
Export as CSV
|
102
103
|
</Button>
|
@@ -120,6 +121,7 @@ exports[`RedHatRepositories page should render 1`] = `
|
|
120
121
|
onChange={[Function]}
|
121
122
|
onPerPageSelect={null}
|
122
123
|
onSetPage={null}
|
124
|
+
ouiaId="enabled-repos-pagination"
|
123
125
|
page={1}
|
124
126
|
perPage={null}
|
125
127
|
updateParamsByUrl={true}
|
@@ -18,7 +18,12 @@ const RecommendedRepositorySetsToggler = ({
|
|
18
18
|
|
19
19
|
return (
|
20
20
|
<div className={classes} {...props}>
|
21
|
-
<Switch
|
21
|
+
<Switch
|
22
|
+
ouiaId="enabled-repo-set-switch"
|
23
|
+
bsSize="mini"
|
24
|
+
value={enabled}
|
25
|
+
onChange={() => onChange(!enabled)}
|
26
|
+
/>
|
22
27
|
<Icon type="fa" name="star" />
|
23
28
|
{children}
|
24
29
|
<FieldLevelHelp content={help} />
|
@@ -34,6 +34,7 @@ export const getSetsComponent = (repoSetsState, onPaginationChange) => {
|
|
34
34
|
<ListView>
|
35
35
|
<div className="sticky-pagination">
|
36
36
|
<Pagination
|
37
|
+
ouiaId="repos-pagination"
|
37
38
|
itemCount={itemCount}
|
38
39
|
onChange={onPaginationChange}
|
39
40
|
isCompact
|
@@ -64,6 +65,7 @@ export const getEnabledComponent = (enabledReposState, onPaginationChange) => {
|
|
64
65
|
<ListView>
|
65
66
|
<div className="sticky-pagination sticky-pagination-grey">
|
66
67
|
<Pagination
|
68
|
+
ouiaId="enabled-repos-pagination"
|
67
69
|
isCompact
|
68
70
|
itemCount={itemCount}
|
69
71
|
onChange={onPaginationChange}
|
@@ -10,7 +10,7 @@ const SubscriptionDetailAssociations = ({ subscriptionDetails }) => {
|
|
10
10
|
return (
|
11
11
|
<div>
|
12
12
|
<h2>{__('Associations')}</h2>
|
13
|
-
<Table striped bordered condensed hover>
|
13
|
+
<Table ouiaId="associations-table" striped bordered condensed hover>
|
14
14
|
<thead>
|
15
15
|
<tr>
|
16
16
|
<td><b>{__('Resource')}</b></td>
|
@@ -37,7 +37,7 @@ const SubscriptionDetailInfo = ({ subscriptionDetails }) => {
|
|
37
37
|
return (
|
38
38
|
<div>
|
39
39
|
<h2>{__('Subscription Info')}</h2>
|
40
|
-
<Table>
|
40
|
+
<Table ouiaId="subscription-info-table">
|
41
41
|
<tbody>
|
42
42
|
{Object.keys(subscriptionAttributes).map(key => (
|
43
43
|
<tr key={key}>
|
@@ -56,7 +56,7 @@ const SubscriptionDetailInfo = ({ subscriptionDetails }) => {
|
|
56
56
|
</tbody>
|
57
57
|
</Table>
|
58
58
|
<h2>{__('System Purpose')}</h2>
|
59
|
-
<Table>
|
59
|
+
<Table ouiaId="system-purpose-table">
|
60
60
|
<tbody>
|
61
61
|
{Object.keys(subscriptionPurposeAttributes).map(key => (
|
62
62
|
<tr key={key}>
|
@@ -81,16 +81,16 @@ class SubscriptionDetails extends Component {
|
|
81
81
|
<TabContainer id="subscription-tabs-container" defaultActiveKey={1}>
|
82
82
|
<div>
|
83
83
|
<LoadingState loading={subscriptionDetails.loading} loadingText={__('Loading')}>
|
84
|
-
<Nav bsClass="nav nav-tabs">
|
85
|
-
<NavItem eventKey={1}>
|
84
|
+
<Nav bsClass="nav nav-tabs" ouiaId="subscription-details-nav">
|
85
|
+
<NavItem eventKey={1} ouiaId="details-nav-item">
|
86
86
|
<div>{__('Details')}</div>
|
87
87
|
</NavItem>
|
88
|
-
<NavItem eventKey={2}>
|
88
|
+
<NavItem eventKey={2} ouiaId="product-content-nav-item">
|
89
89
|
<div>{__('Product Content')}</div>
|
90
90
|
</NavItem>
|
91
91
|
</Nav>
|
92
92
|
<Grid bsClass="container-fluid">
|
93
|
-
<TabContent animation={false}>
|
93
|
+
<TabContent ouiaId="subscription-details-tab-content" animation={false}>
|
94
94
|
<TabPane eventKey={1}>
|
95
95
|
<div>
|
96
96
|
<Row>
|
@@ -7,6 +7,7 @@ exports[`subscriptions detail associations page renders correctly 1`] = `
|
|
7
7
|
</h2>
|
8
8
|
<table
|
9
9
|
className="table"
|
10
|
+
ouiaId="subscription-info-table"
|
10
11
|
>
|
11
12
|
<tbody>
|
12
13
|
<tr>
|
@@ -176,6 +177,7 @@ exports[`subscriptions detail associations page renders correctly 1`] = `
|
|
176
177
|
</h2>
|
177
178
|
<table
|
178
179
|
className="table"
|
180
|
+
ouiaId="system-purpose-table"
|
179
181
|
>
|
180
182
|
<tbody>
|
181
183
|
<tr>
|
data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap
CHANGED
@@ -37,6 +37,7 @@ exports[`subscriptions details page should render and contain appropiate compone
|
|
37
37
|
<Nav
|
38
38
|
bsClass="nav nav-tabs"
|
39
39
|
justified={false}
|
40
|
+
ouiaId="subscription-details-nav"
|
40
41
|
pullLeft={false}
|
41
42
|
pullRight={false}
|
42
43
|
stacked={false}
|
@@ -45,6 +46,7 @@ exports[`subscriptions details page should render and contain appropiate compone
|
|
45
46
|
active={false}
|
46
47
|
disabled={false}
|
47
48
|
eventKey={1}
|
49
|
+
ouiaId="details-nav-item"
|
48
50
|
>
|
49
51
|
<div>
|
50
52
|
Details
|
@@ -54,6 +56,7 @@ exports[`subscriptions details page should render and contain appropiate compone
|
|
54
56
|
active={false}
|
55
57
|
disabled={false}
|
56
58
|
eventKey={2}
|
59
|
+
ouiaId="product-content-nav-item"
|
57
60
|
>
|
58
61
|
<div>
|
59
62
|
Product Content
|
@@ -70,6 +73,7 @@ exports[`subscriptions details page should render and contain appropiate compone
|
|
70
73
|
bsClass="tab"
|
71
74
|
componentClass="div"
|
72
75
|
mountOnEnter={false}
|
76
|
+
ouiaId="subscription-details-tab-content"
|
73
77
|
unmountOnExit={false}
|
74
78
|
>
|
75
79
|
<TabPane
|
@@ -117,6 +117,7 @@ const NetworkSyncForm = ({
|
|
117
117
|
{ !validated && (
|
118
118
|
<FormAlert>
|
119
119
|
<Alert
|
120
|
+
ouiaId="cdn-configuration-form-alert"
|
120
121
|
variant="danger"
|
121
122
|
title={__('Username, Password, Organization Label, and SSL CA Content Credential must be provided together.')}
|
122
123
|
aria-live="polite"
|
@@ -126,7 +127,7 @@ const NetworkSyncForm = ({
|
|
126
127
|
)}
|
127
128
|
|
128
129
|
<div id="update-hint-upstream-server" className="margin-top-16">
|
129
|
-
<Text>
|
130
|
+
<Text ouiaId="upstream-server-text">
|
130
131
|
<FormattedMessage
|
131
132
|
id="cdn-configuration-type"
|
132
133
|
defaultMessage={__('Red Hat content will be consumed from an {type}.')}
|
@@ -128,7 +128,7 @@ class ManageManifestModal extends Component {
|
|
128
128
|
|
129
129
|
return (
|
130
130
|
<ForemanModal id={MANAGE_MANIFEST_MODAL_ID} title={__('Manage Manifest')}>
|
131
|
-
<Tabs id="manifest-history-tabs">
|
131
|
+
<Tabs id="manifest-history-tabs" ouiaId="manifest-history-tabs">
|
132
132
|
{showManifestTab &&
|
133
133
|
<Tab eventKey={1} title={__('Manifest')}>
|
134
134
|
{showSubscriptionManifest &&
|
@@ -194,10 +194,10 @@ class ManageManifestModal extends Component {
|
|
194
194
|
<ForemanModal title={__('Confirm delete manifest')} id={DELETE_MANIFEST_MODAL_ID}>
|
195
195
|
<DeleteManifestModalText />
|
196
196
|
<ForemanModal.Footer>
|
197
|
-
<Button bsStyle="default" onClick={this.hideDeleteManifestModal}>
|
197
|
+
<Button ouiaId="cancel-button" bsStyle="default" onClick={this.hideDeleteManifestModal}>
|
198
198
|
{__('Cancel')}
|
199
199
|
</Button>
|
200
|
-
<Button bsStyle="danger" onClick={this.deleteManifest}>
|
200
|
+
<Button ouiaId="delete-button" bsStyle="danger" onClick={this.deleteManifest}>
|
201
201
|
{__('Delete')}
|
202
202
|
</Button>
|
203
203
|
</ForemanModal.Footer>
|
@@ -213,6 +213,7 @@ class ManageManifestModal extends Component {
|
|
213
213
|
<Tab eventKey={2} title={__('Manifest History')}>
|
214
214
|
<LoadingState loading={manifestHistory.loading} loadingText={__('Loading')}>
|
215
215
|
<Table
|
216
|
+
ouiaId="manifest-history-table"
|
216
217
|
rows={manifestHistory.results}
|
217
218
|
columns={columns}
|
218
219
|
emptyState={emptyStateData()}
|
@@ -234,7 +235,7 @@ class ManageManifestModal extends Component {
|
|
234
235
|
}
|
235
236
|
</Tabs>
|
236
237
|
<ForemanModal.Footer>
|
237
|
-
<Button bsStyle="primary" onClick={this.hideModal}>
|
238
|
+
<Button ouiaId="close-button" bsStyle="primary" onClick={this.hideModal}>
|
238
239
|
{__('Close')}
|
239
240
|
</Button>
|
240
241
|
</ForemanModal.Footer>
|
@@ -65,6 +65,7 @@ const SimpleContentAccess = (props) => {
|
|
65
65
|
<div id="manifest-toggle-sca-switch">
|
66
66
|
<Switch
|
67
67
|
id="simple-switch"
|
68
|
+
ouiaId="simple-switch"
|
68
69
|
isChecked={isSimpleContentAccessEnabled}
|
69
70
|
onChange={toggleSimpleContentAccess}
|
70
71
|
isDisabled={!canToggleSimpleContentAccess}
|
@@ -220,7 +220,7 @@ class SubscriptionsPage extends Component {
|
|
220
220
|
};
|
221
221
|
|
222
222
|
const SCAAlert = (
|
223
|
-
<Alert type={simpleContentAccess ? 'info' : 'warning'}>
|
223
|
+
<Alert ouiaId="sca-alert" type={simpleContentAccess ? 'info' : 'warning'}>
|
224
224
|
<FormattedMessage
|
225
225
|
id="sca-alert"
|
226
226
|
values={{
|
@@ -132,6 +132,7 @@ class UpstreamSubscriptionsPage extends Component {
|
|
132
132
|
<Row>
|
133
133
|
<Col sm={12}>
|
134
134
|
<Button
|
135
|
+
ouiaId="submit-button"
|
135
136
|
style={{ marginTop: '10px', marginRight: '5px' }}
|
136
137
|
bsStyle="primary"
|
137
138
|
type="submit"
|
@@ -143,7 +144,7 @@ class UpstreamSubscriptionsPage extends Component {
|
|
143
144
|
</Button>
|
144
145
|
|
145
146
|
<LinkContainer to="/subscriptions" style={{ marginTop: '10px' }}>
|
146
|
-
<Button>
|
147
|
+
<Button ouiaId="cancel-button">
|
147
148
|
{__('Cancel')}
|
148
149
|
</Button>
|
149
150
|
</LinkContainer>
|
@@ -240,6 +241,7 @@ class UpstreamSubscriptionsPage extends Component {
|
|
240
241
|
<Row>
|
241
242
|
<Col sm={12}>
|
242
243
|
<Table
|
244
|
+
ouiaId="upstream-subscriptions-table"
|
243
245
|
rows={rows}
|
244
246
|
columns={tableColumns}
|
245
247
|
emptyState={emptyStateData()}
|
@@ -137,6 +137,7 @@ exports[`upstream subscriptions page should render 1`] = `
|
|
137
137
|
}
|
138
138
|
itemCount={2}
|
139
139
|
onPaginationChange={[Function]}
|
140
|
+
ouiaId="upstream-subscriptions-table"
|
140
141
|
pagination={
|
141
142
|
Object {
|
142
143
|
"page": 1,
|
@@ -190,6 +191,7 @@ exports[`upstream subscriptions page should render 1`] = `
|
|
190
191
|
bsStyle="primary"
|
191
192
|
disabled={true}
|
192
193
|
onClick={[Function]}
|
194
|
+
ouiaId="submit-button"
|
193
195
|
style={
|
194
196
|
Object {
|
195
197
|
"marginRight": "5px",
|
@@ -214,6 +216,7 @@ exports[`upstream subscriptions page should render 1`] = `
|
|
214
216
|
bsClass="btn"
|
215
217
|
bsStyle="default"
|
216
218
|
disabled={false}
|
219
|
+
ouiaId="cancel-button"
|
217
220
|
>
|
218
221
|
Cancel
|
219
222
|
</Button>
|
@@ -270,7 +270,7 @@ class SubscriptionsTable extends Component {
|
|
270
270
|
render() {
|
271
271
|
return (
|
272
272
|
<LoadingState {...this.getLoadingStateProps()}>
|
273
|
-
<Table {...this.getTableProps()} />
|
273
|
+
<Table ouiaId="subscriptions-table" {...this.getTableProps()} />
|
274
274
|
<Dialogs {...this.getDialogsProps()} />
|
275
275
|
</LoadingState>
|
276
276
|
);
|