katello 4.5.1 → 4.8.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/katello/common/vendor.js +0 -1
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +8 -22
- data/app/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +10 -0
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +16 -10
- data/app/controllers/katello/api/v2/activation_keys_controller.rb +9 -0
- data/app/controllers/katello/api/v2/alternate_content_sources_controller.rb +59 -24
- data/app/controllers/katello/api/v2/capsule_content_controller.rb +5 -4
- data/app/controllers/katello/api/v2/content_export_incrementals_controller.rb +22 -81
- data/app/controllers/katello/api/v2/content_exports_controller.rb +11 -80
- data/app/controllers/katello/api/v2/content_imports_controller.rb +2 -0
- data/app/controllers/katello/api/v2/content_uploads_controller.rb +2 -0
- data/app/controllers/katello/api/v2/content_view_components_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_view_filters_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_views_controller.rb +1 -1
- data/app/controllers/katello/api/v2/debs_controller.rb +42 -10
- data/app/controllers/katello/api/v2/exports_controller.rb +130 -0
- data/app/controllers/katello/api/v2/host_collections_controller.rb +5 -1
- data/app/controllers/katello/api/v2/host_errata_controller.rb +1 -0
- data/app/controllers/katello/api/v2/host_module_streams_controller.rb +9 -1
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +17 -10
- data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +9 -5
- data/app/controllers/katello/api/v2/organizations_controller.rb +7 -1
- data/app/controllers/katello/api/v2/package_groups_controller.rb +0 -52
- data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +1 -1
- data/app/controllers/katello/api/v2/repositories_controller.rb +86 -30
- data/app/controllers/katello/api/v2/repository_sets_controller.rb +25 -14
- data/app/controllers/katello/api/v2/simple_content_access_controller.rb +10 -2
- data/app/controllers/katello/api/v2/upstream_subscriptions_controller.rb +1 -1
- data/app/controllers/katello/concerns/api/v2/bulk_hosts_extensions.rb +4 -6
- data/app/controllers/katello/concerns/api/v2/registration_controller_extensions.rb +7 -3
- data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +34 -11
- data/app/controllers/katello/concerns/api/v2/smart_proxies_controller_extensions.rb +1 -0
- data/app/controllers/katello/concerns/authorization/api/v2/content_views_controller.rb +4 -1
- data/app/controllers/katello/concerns/content_facet_hosts_controller_extensions.rb +24 -0
- data/app/controllers/katello/concerns/hosts_controller_extensions.rb +14 -12
- data/app/controllers/katello/concerns/organizations_controller_extensions.rb +7 -16
- data/app/helpers/katello/content_source_helper.rb +11 -0
- data/app/helpers/katello/hosts_and_hostgroups_helper.rb +88 -21
- data/app/helpers/katello/katello_urls_helper.rb +0 -15
- data/app/helpers/katello/sync_management_helper.rb +0 -4
- data/app/lib/actions/candlepin/abstract_async_task.rb +7 -3
- data/app/lib/actions/candlepin/environment/set_content.rb +7 -1
- data/app/lib/actions/candlepin/owner/destroy_imports.rb +1 -1
- data/app/lib/actions/candlepin/owner/{upstream_export.rb → retrieve_upstream_export.rb} +3 -3
- data/app/lib/actions/candlepin/owner/start_upstream_export.rb +24 -0
- data/app/lib/actions/candlepin/upstream_abstract_async_task.rb +30 -0
- data/app/lib/actions/katello/activation_key/destroy.rb +1 -0
- data/app/lib/actions/katello/agent_action.rb +1 -0
- data/app/lib/actions/katello/alternate_content_source/alternate_content_source_common.rb +16 -0
- data/app/lib/actions/katello/alternate_content_source/create.rb +13 -5
- data/app/lib/actions/katello/alternate_content_source/destroy.rb +3 -4
- data/app/lib/actions/katello/alternate_content_source/refresh.rb +3 -5
- data/app/lib/actions/katello/alternate_content_source/update.rb +59 -13
- data/app/lib/actions/katello/applicability/hosts/bulk_generate.rb +2 -2
- data/app/lib/actions/katello/capsule_content/sync.rb +10 -6
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +1 -2
- data/app/lib/actions/katello/cdn_configuration/update.rb +1 -1
- data/app/lib/actions/katello/content_view/promote.rb +1 -0
- data/app/lib/actions/katello/content_view/publish.rb +11 -4
- data/app/lib/actions/katello/content_view/remove.rb +8 -2
- data/app/lib/actions/katello/content_view_version/auto_create_redhat_repositories.rb +7 -3
- data/app/lib/actions/katello/content_view_version/auto_create_repositories.rb +4 -2
- data/app/lib/actions/katello/content_view_version/destroy.rb +1 -1
- data/app/lib/actions/katello/content_view_version/import.rb +22 -10
- data/app/lib/actions/katello/environment/destroy.rb +8 -2
- data/app/lib/actions/katello/host/reassign.rb +4 -2
- data/app/lib/actions/katello/organization/manifest_refresh.rb +20 -11
- data/app/lib/actions/katello/organization/simple_content_access/toggle.rb +1 -9
- data/app/lib/actions/katello/orphan_cleanup/remove_orphans.rb +0 -1
- data/app/lib/actions/katello/product/destroy.rb +3 -2
- data/app/lib/actions/katello/repository/create.rb +9 -0
- data/app/lib/actions/katello/repository/destroy.rb +24 -3
- data/app/lib/actions/katello/repository/errata_mail.rb +9 -6
- data/app/lib/actions/katello/repository/filtered_index_content.rb +2 -10
- data/app/lib/actions/katello/repository/import_upload.rb +0 -1
- data/app/lib/actions/katello/repository/refresh_repository.rb +3 -0
- data/app/lib/actions/katello/repository/sync.rb +15 -9
- data/app/lib/actions/katello/repository/update.rb +39 -3
- data/app/lib/actions/katello/repository/update_redhat_repository.rb +1 -1
- data/app/lib/actions/katello/repository/upload_files.rb +0 -1
- data/app/lib/actions/katello/repository_set/enable_repository.rb +6 -2
- data/app/lib/actions/middleware/propagate_candlepin_errors.rb +6 -1
- data/app/lib/actions/pulp3/abstract.rb +0 -6
- data/app/lib/actions/pulp3/alternate_content_source/create.rb +5 -4
- data/app/lib/actions/pulp3/alternate_content_source/create_remote.rb +5 -4
- data/app/lib/actions/pulp3/alternate_content_source/delete.rb +4 -4
- data/app/lib/actions/pulp3/alternate_content_source/delete_remote.rb +4 -4
- data/app/lib/actions/pulp3/alternate_content_source/refresh.rb +4 -4
- data/app/lib/actions/pulp3/alternate_content_source/refresh_remote.rb +16 -0
- data/app/lib/actions/pulp3/alternate_content_source/update.rb +4 -4
- data/app/lib/actions/pulp3/alternate_content_source/update_remote.rb +5 -5
- data/app/lib/actions/pulp3/capsule_content/reclaim_space.rb +1 -0
- data/app/lib/actions/pulp3/content_view/delete_repository_references.rb +1 -2
- data/app/lib/actions/pulp3/content_view_version/create_syncable_export_history.rb +4 -0
- data/app/lib/actions/pulp3/orchestration/alternate_content_source/create.rb +3 -3
- data/app/lib/actions/pulp3/orchestration/alternate_content_source/delete.rb +6 -7
- data/app/lib/actions/pulp3/orchestration/alternate_content_source/refresh.rb +3 -2
- data/app/lib/actions/pulp3/orchestration/alternate_content_source/update.rb +3 -3
- data/app/lib/actions/pulp3/orchestration/content_view_version/copy_version_units_to_library.rb +1 -1
- data/app/lib/actions/pulp3/orchestration/content_view_version/export.rb +12 -11
- data/app/lib/actions/pulp3/orchestration/content_view_version/export_library.rb +3 -3
- data/app/lib/actions/pulp3/orchestration/content_view_version/export_repository.rb +17 -3
- data/app/lib/actions/pulp3/orchestration/content_view_version/syncable_export.rb +7 -4
- data/app/lib/actions/pulp3/orchestration/orphan_cleanup/remove_orphans.rb +1 -0
- data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +1 -0
- data/app/lib/actions/pulp3/orchestration/repository/generate_metadata.rb +1 -1
- data/app/lib/actions/pulp3/orphan_cleanup/delete_orphan_alternate_content_sources.rb +16 -0
- data/app/lib/actions/pulp3/repository/reclaim_space.rb +1 -1
- data/app/lib/actions/pulp3/repository/refresh_distribution.rb +1 -2
- data/app/lib/actions/pulp3/repository/repair.rb +1 -1
- data/app/lib/actions/pulp3/repository/save_distribution_references.rb +2 -2
- data/app/lib/katello/api/v2/error_handling.rb +12 -2
- data/app/lib/katello/concerns/base_template_scope_extensions.rb +8 -4
- data/app/lib/katello/concerns/renderer_extensions.rb +3 -2
- data/app/lib/katello/errors.rb +4 -3
- data/app/lib/katello/event_daemon/runner.rb +12 -9
- data/app/lib/katello/resources/candlepin/consumer.rb +9 -6
- data/app/lib/katello/resources/candlepin/owner.rb +10 -3
- data/app/lib/katello/resources/candlepin/upstream_consumer.rb +4 -5
- data/app/lib/katello/resources/candlepin/upstream_job.rb +28 -0
- data/app/lib/katello/resources/candlepin.rb +11 -5
- data/app/lib/katello/resources/cdn/katello_cdn.rb +3 -13
- data/app/lib/katello/resources/cdn.rb +14 -9
- data/app/lib/katello/util/candlepin_repository_checker.rb +75 -0
- data/app/lib/katello/util/errata.rb +12 -10
- data/app/lib/katello/util/search.rb +0 -1
- data/app/lib/katello/validators/alternate_content_source_products_validator.rb +17 -0
- data/app/lib/katello/validators/content_view_environment_org_validator.rb +5 -2
- data/app/lib/katello/validators/content_view_environment_validator.rb +1 -2
- data/app/lib/katello/validators/generated_content_view_validator.rb +16 -0
- data/app/mailers/katello/errata_mailer.rb +4 -2
- data/app/models/katello/activation_key.rb +12 -1
- data/app/models/katello/alternate_content_source.rb +107 -11
- data/app/models/katello/alternate_content_source_product.rb +13 -0
- data/app/models/katello/authorization/repository.rb +2 -2
- data/app/models/katello/cdn_configuration.rb +12 -3
- data/app/models/katello/concerns/content_facet_host_extensions.rb +25 -14
- data/app/models/katello/concerns/host_managed_extensions.rb +61 -13
- data/app/models/katello/concerns/http_proxy_extensions.rb +5 -10
- data/app/models/katello/concerns/organization_extensions.rb +4 -4
- data/app/models/katello/concerns/pulp_database_unit.rb +2 -2
- data/app/models/katello/concerns/redhat_extensions.rb +16 -6
- data/app/models/katello/concerns/smart_proxy_extensions.rb +36 -34
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +1 -0
- data/app/models/katello/content.rb +16 -1
- data/app/models/katello/content_credential.rb +8 -9
- data/app/models/katello/content_view.rb +42 -11
- data/app/models/katello/content_view_component.rb +4 -0
- data/app/models/katello/content_view_deb_filter.rb +51 -0
- data/app/models/katello/content_view_deb_filter_rule.rb +24 -0
- data/app/models/katello/content_view_environment.rb +11 -2
- data/app/models/katello/content_view_environment_content_facet.rb +9 -0
- data/app/models/katello/content_view_erratum_filter.rb +5 -4
- data/app/models/katello/content_view_filter.rb +10 -3
- data/app/models/katello/content_view_version.rb +11 -6
- data/app/models/katello/erratum.rb +12 -3
- data/app/models/katello/glue/candlepin/owner.rb +4 -1
- data/app/models/katello/glue/candlepin/pool.rb +6 -0
- data/app/models/katello/glue/candlepin/product.rb +7 -1
- data/app/models/katello/glue/candlepin/subscription.rb +5 -0
- data/app/models/katello/glue/provider.rb +55 -45
- data/app/models/katello/host/content_facet.rb +121 -21
- data/app/models/katello/host/info_provider.rb +25 -21
- data/app/models/katello/host/subscription_facet.rb +18 -14
- data/app/models/katello/installed_package.rb +1 -0
- data/app/models/katello/kt_environment.rb +12 -7
- data/app/models/katello/package_group.rb +0 -12
- data/app/models/katello/pool.rb +4 -1
- data/app/models/katello/product.rb +14 -1
- data/app/models/katello/repository.rb +28 -12
- data/app/models/katello/root_repository.rb +8 -3
- data/app/models/katello/rpm.rb +1 -0
- data/app/models/katello/smart_proxy_alternate_content_source.rb +6 -0
- data/app/models/katello/task_status.rb +0 -18
- data/app/overrides/add_smart_proxy_form.rb +5 -0
- data/app/presenters/katello/content_view_version_compare_presenter.rb +5 -0
- data/app/presenters/katello/host_package_presenter.rb +4 -4
- data/app/services/cert/certs.rb +8 -16
- data/app/services/katello/bulk_items_helper.rb +3 -3
- data/app/services/katello/candlepin/consumer.rb +2 -2
- data/app/services/katello/host/package_profile_uploader.rb +1 -1
- data/app/services/katello/organization_creator.rb +4 -4
- data/app/services/katello/product_content_finder.rb +11 -8
- data/app/services/katello/product_content_importer.rb +61 -5
- data/app/services/katello/pulp3/alternate_content_source.rb +36 -10
- data/app/services/katello/pulp3/ansible_collection.rb +10 -7
- data/app/services/katello/pulp3/api/apt.rb +12 -0
- data/app/services/katello/pulp3/api/core.rb +2 -2
- data/app/services/katello/pulp3/api/generic.rb +0 -4
- data/app/services/katello/pulp3/content_view_version/export.rb +36 -63
- data/app/services/katello/pulp3/content_view_version/export_validation_error.rb +7 -0
- data/app/services/katello/pulp3/content_view_version/export_validator.rb +121 -0
- data/app/services/katello/pulp3/content_view_version/import.rb +2 -0
- data/app/services/katello/pulp3/content_view_version/import_validator.rb +21 -5
- data/app/services/katello/pulp3/content_view_version/importable_products.rb +12 -2
- data/app/services/katello/pulp3/content_view_version/importable_repositories.rb +38 -9
- data/app/services/katello/pulp3/content_view_version/metadata_generator.rb +12 -5
- data/app/services/katello/pulp3/content_view_version/metadata_map.rb +13 -2
- data/app/services/katello/pulp3/content_view_version/syncable_format_export.rb +12 -2
- data/app/services/katello/pulp3/docker_manifest.rb +2 -1
- data/app/services/katello/pulp3/docker_manifest_list.rb +2 -1
- data/app/services/katello/pulp3/erratum.rb +1 -0
- data/app/services/katello/pulp3/module_stream.rb +26 -11
- data/app/services/katello/pulp3/pulp_content_unit.rb +3 -0
- data/app/services/katello/pulp3/repository/apt.rb +192 -2
- data/app/services/katello/pulp3/repository/yum.rb +7 -4
- data/app/services/katello/pulp3/repository.rb +26 -11
- data/app/services/katello/pulp3/repository_mirror.rb +1 -0
- data/app/services/katello/pulp3/service_common.rb +1 -1
- data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +24 -2
- data/app/services/katello/pulp3/task_group.rb +18 -1
- data/app/services/katello/registration_manager.rb +46 -26
- data/app/services/katello/repository_type.rb +7 -10
- data/app/services/katello/repository_type_manager.rb +4 -3
- data/app/services/katello/simple_package.rb +22 -0
- data/app/views/dashboard/_content_views_widget.html.erb +1 -1
- data/app/views/foreman/job_templates/change_content_source.erb +6 -0
- data/app/views/foreman/job_templates/update_packages_by_search_query.erb +7 -1
- data/app/views/foreman/smart_proxies/_content_sync.html.erb +2 -1
- data/app/views/foreman/smart_proxies/_reclaim_space.html.erb +1 -0
- data/app/views/foreman/smart_proxies/show.html.erb +3 -3
- data/app/views/katello/api/v2/alternate_content_sources/base.json.rabl +19 -4
- data/app/views/katello/api/v2/alternate_content_sources/index.json.rabl +1 -0
- data/app/views/katello/api/v2/alternate_content_sources/permissions.rabl +11 -0
- data/app/views/katello/api/v2/alternate_content_sources/show.json.rabl +20 -0
- data/app/views/katello/api/v2/ansible_collections/compare.json.rabl +10 -0
- data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +1 -1
- data/app/views/katello/api/v2/content_credentials/show.json.rabl +12 -0
- data/app/views/katello/api/v2/content_facet/base.json.rabl +23 -2
- data/app/views/katello/api/v2/content_facet/show.json.rabl +11 -8
- data/app/views/katello/api/v2/content_view_filters/base.json.rabl +5 -0
- data/app/views/katello/api/v2/content_views/base.json.rabl +1 -1
- data/app/views/katello/api/v2/content_views/permissions.rabl +1 -0
- data/app/views/katello/api/v2/host_packages/base.json.rabl +1 -1
- data/app/views/katello/api/v2/hosts/base.json.rabl +22 -2
- data/app/views/katello/api/v2/module_streams/compare.json.rabl +10 -0
- data/app/views/katello/api/v2/module_streams/show.json.rabl +7 -0
- data/app/views/katello/api/v2/organizations/show.json.rabl +1 -1
- data/app/views/katello/api/v2/repositories/compare.json.rabl +10 -0
- data/app/views/katello/api/v2/repository_sets/show.json.rabl +4 -0
- data/app/views/katello/api/v2/smart_proxies/pulp_info.json.rabl +1 -0
- data/app/views/katello/hosts/_errata_counts.html.erb +46 -0
- data/app/views/katello/layouts/foreman_with_bastion.html.erb +1 -1
- data/app/views/katello/layouts/react.html.erb +1 -1
- data/app/views/overrides/activation_keys/_host_environment_select.html.erb +2 -2
- data/app/views/overrides/activation_keys/_host_synced_content_select.html.erb +1 -0
- data/app/views/overrides/organizations/_edit_override.html.erb +5 -8
- data/app/views/overrides/organizations/_index_row_override.html.erb +1 -1
- data/app/views/overrides/organizations/_step_1_override.html.erb +5 -0
- data/app/views/overrides/smart_proxies/_acs_http_proxy.html.erb +6 -0
- data/ca/redhat-uep.pem +18 -23
- data/config/katello.yaml.example +0 -2
- data/config/routes/api/registry.rb +8 -7
- data/config/routes/api/v2.rb +4 -2
- data/config/routes/overrides.rb +1 -0
- data/config/routes.rb +6 -0
- data/db/migrate/20200429153103_installed_package_bad_nvrea.rb +1 -1
- data/db/migrate/20201116161820_create_content_view_deb_filter_rules.rb +17 -0
- data/db/migrate/20220228173251_remove_drpm_from_ignorable_content.rb +7 -3
- data/db/migrate/20220419193414_content_settings_to_dsl_category.rb +1 -1
- data/db/migrate/20220524132259_remove_last_refreshed_from_katello_alternate_content_sources.rb +5 -0
- data/db/migrate/20220601163911_add_vendor_to_katello_installed_packages.rb +5 -0
- data/db/migrate/20220610165621_add_repositories_and_products_to_acs.rb +23 -0
- data/db/migrate/20220730033504_update_custom_cdn.rb +13 -0
- data/db/migrate/20220920173656_add_http_proxy_to_smart_proxy.rb +7 -0
- data/db/migrate/20220920180858_remove_http_proxy_from_katello_alternate_content_sources.rb +6 -0
- data/db/migrate/20220929204746_add_content_view_environment_content_facet.rb +52 -0
- data/db/migrate/20221123212341_remove_pulp_docker_registry_port_setting.rb +5 -0
- data/db/migrate/20221206170122_update_ignore_srpm_to_false_for_mirror_complete.rb +5 -0
- data/db/migrate/20230119003859_ensure_repo_username_password_nil_not_blank.rb +9 -0
- data/db/migrate/20230203141353_set_new_acs_verify_ssl_default.rb +5 -0
- data/db/seeds.d/111-upgrade_tasks.rb +3 -1
- data/engines/bastion/app/assets/javascripts/bastion/components/notification.service.js +1 -1
- data/engines/bastion/app/assets/stylesheets/bastion/bastion.scss +4 -0
- data/engines/bastion/app/views/bastion/layouts/application.html.erb +1 -1
- data/engines/bastion/app/views/bastion/layouts/application_ie.html.erb +1 -1
- data/engines/bastion/app/views/bastion/layouts/assets.html.erb +7 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular/angular.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +2 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/content-credential.factory.js +17 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/content-credentials.routes.js +10 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/content-credential-acs.controller.js +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/content-credential-details.controller.js +7 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/views/content-credential-acs.html +38 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/views/content-credential-details.html +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/views/content-credentials.html +7 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +4 -2
- 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-info.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +5 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment-content.controller.js +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment.controller.js +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-content-views.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/views/environments.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +11 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-hosts-list.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +28 -1403
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +5485 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +5397 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +5658 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +5284 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +5231 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +5275 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +5389 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +5212 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +5145 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +9 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/katello-features.run.js +1 -0
- 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/details/repositories/details/repository-details-info.controller.js +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +7 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-advanced-sync-options.html +4 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +7 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/content-access-mode-banner.html +2 -2
- data/engines/bastion_katello/lib/bastion_katello/engine.rb +0 -1
- data/lib/katello/engine.rb +4 -3
- data/lib/katello/permission_creator.rb +5 -6
- data/lib/katello/permissions/host_permissions.rb +1 -0
- data/lib/katello/permissions/registry_permissions.rb +5 -5
- data/lib/katello/plugin.rb +58 -33
- data/lib/katello/repository_types/README.md +136 -19
- data/lib/katello/repository_types/deb.rb +1 -2
- data/lib/katello/repository_types/docker.rb +3 -3
- data/lib/katello/repository_types/file.rb +0 -1
- data/lib/katello/repository_types/python.rb +3 -3
- data/lib/katello/repository_types/yum.rb +0 -4
- data/lib/katello/tasks/check_candlepin_content.rake +16 -0
- data/lib/katello/tasks/clean_candlepin_orphaned_products.rake +38 -0
- data/lib/katello/tasks/clean_orphaned_facets.rb +20 -0
- data/lib/katello/tasks/refresh_repos.rake +8 -0
- data/lib/katello/tasks/reimport.rake +1 -2
- data/lib/katello/tasks/repository.rake +1 -22
- data/lib/katello/tasks/reset.rake +2 -1
- data/lib/katello/tasks/upgrades/4.8/fix_incorrect_providers.rake +29 -0
- data/lib/katello/tasks/upgrades/4.8/regenerate_imported_repository_metadata.rake +33 -0
- data/lib/katello/version.rb +1 -1
- data/lib/katello.rb +0 -5
- data/locale/action_names.rb +65 -62
- data/locale/bn/katello.po +816 -128
- data/locale/cs/katello.po +817 -129
- data/locale/de/katello.po +889 -200
- data/locale/en/katello.po +815 -127
- data/locale/es/katello.po +1161 -469
- data/locale/fr/katello.po +1313 -615
- data/locale/gu/katello.po +816 -128
- data/locale/hi/katello.po +817 -129
- data/locale/it/katello.po +827 -137
- data/locale/ja/katello.po +1315 -623
- data/locale/ka/katello.po +8872 -0
- data/locale/katello.pot +3358 -2013
- data/locale/kn/katello.po +816 -128
- data/locale/ko/katello.po +859 -170
- data/locale/mr/katello.po +817 -129
- data/locale/or/katello.po +817 -129
- data/locale/pa/katello.po +817 -129
- data/locale/pt/katello.po +817 -128
- data/locale/pt_BR/katello.po +1265 -573
- data/locale/ru/katello.po +836 -148
- data/locale/ta/katello.po +816 -128
- data/locale/te/katello.po +816 -128
- data/locale/zh_CN/katello.po +1311 -619
- data/locale/zh_TW/katello.po +830 -142
- data/package.json +0 -3
- data/webpack/components/Bookmark/index.js +5 -1
- data/webpack/components/Content/ContentPage.js +51 -35
- data/webpack/components/Content/Details/ContentDetails.js +1 -1
- data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetails.test.js.snap +6 -0
- data/webpack/components/Content/__tests__/ContentPage.test.js +2 -4
- data/webpack/components/Content/__tests__/__snapshots__/ContentPage.test.js.snap +22 -3
- data/webpack/components/EditableSwitch.js +1 -0
- data/webpack/components/EditableTextInput/EditableTextInput.js +6 -19
- data/webpack/components/EditableTextInput/PencilEditButton.js +33 -0
- data/webpack/components/Errata/errataHelpers.js +33 -0
- data/webpack/components/Errata/index.js +56 -8
- data/webpack/components/Loading.js +19 -9
- data/webpack/components/Packages/index.js +8 -24
- data/webpack/components/RoutedTabs/index.js +8 -28
- data/webpack/components/Search/Search.js +20 -3
- data/webpack/components/Search/__tests__/search.test.js +4 -5
- data/webpack/components/SelectAllCheckbox/index.js +7 -4
- data/webpack/components/SelectableDropdown/SelectableDropdown.js +1 -0
- data/webpack/components/Table/EmptyStateMessage.js +83 -5
- data/webpack/components/Table/MainTable.js +78 -15
- data/webpack/components/Table/PageControls.js +1 -0
- data/webpack/components/Table/TableHooks.js +12 -4
- data/webpack/components/Table/TableWrapper.js +45 -36
- data/webpack/components/Table/__test__/emptyStateMessage.test.js +51 -0
- data/webpack/components/TypeAhead/TypeAhead.js +26 -11
- data/webpack/components/TypeAhead/pf3Search/TypeAheadItems.js +1 -1
- data/webpack/components/TypeAhead/pf4Search/TypeAheadInput.js +2 -0
- data/webpack/components/TypeAhead/pf4Search/TypeAheadItems.js +2 -0
- data/webpack/components/TypeAhead/pf4Search/TypeAheadSearch.js +1 -1
- data/webpack/components/extensions/HostDetails/ActionsBar/index.js +8 -1
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ChangeHostCVModal.js +19 -84
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ContentViewDetailsCard.js +2 -1
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/changeHostCVModal.test.js +2 -2
- data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.js +128 -71
- data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.scss +5 -0
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.js +30 -4
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.scss +23 -0
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsModal.js +15 -9
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/hostCollectionsCard.test.js +25 -10
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/hostCollectionsModal.test.js +1 -17
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeActions.js +37 -0
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.js +175 -0
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.scss +6 -0
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeConstants.js +6 -0
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +307 -0
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeSelectors.js +25 -0
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeCard.test.js +109 -0
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +161 -0
- data/webpack/components/extensions/HostDetails/Cards/__tests__/errataOverviewCard.test.js +155 -42
- data/webpack/components/extensions/HostDetails/DetailsTabCards/HwPropertiesCard.js +103 -0
- data/webpack/components/extensions/HostDetails/DetailsTabCards/InstalledProductsCard.js +1 -0
- data/webpack/components/extensions/HostDetails/DetailsTabCards/RegistrationCard.js +5 -2
- data/webpack/components/extensions/HostDetails/DetailsTabCards/SystemPropertiesCardExtensions.js +84 -5
- data/webpack/components/extensions/HostDetails/HostDetailsConstants.js +3 -1
- data/webpack/components/extensions/HostDetails/HostDetailsReducer.js +14 -0
- data/webpack/components/extensions/HostDetails/HostDetailsSelectors.js +8 -2
- data/webpack/components/extensions/HostDetails/Tabs/ContentTab/constants.js +2 -1
- data/webpack/components/extensions/HostDetails/Tabs/ContentTab/index.js +1 -0
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +97 -27
- data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +54 -9
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/HostPackagesConstants.js +1 -0
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +10 -6
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +147 -25
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.scss +6 -1
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionActions.js +9 -8
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +135 -27
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.js +7 -2
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesEnabler.js +2 -1
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesTab.js +23 -6
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +60 -61
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/moduleStreamsTab.test.js +3 -30
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packageInstallModal.test.js +3 -12
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packages.fixtures.json +3 -3
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +8 -24
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySets.fixtures.json +3 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +12 -20
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +4 -27
- data/webpack/components/extensions/HostDetails/Tabs/customizedRexUrlHelpers.js +4 -4
- data/webpack/components/extensions/HostDetails/hostDetailsHelpers.js +1 -1
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +7 -0
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/Force.test.js.snap +2 -0
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/IgnoreSubmanErrors.test.js.snap +2 -0
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/LifeCycleEnvironment.test.js.snap +1 -0
- data/webpack/components/extensions/RegistrationCommands/index.js +49 -17
- data/webpack/containers/Application/config.js +6 -11
- data/webpack/containers/Application/overrides.scss +25 -1
- data/webpack/global_index.js +21 -7
- data/webpack/global_test_setup.js +33 -3
- data/webpack/ouia_id_check.js +93 -0
- data/webpack/redux/actions/RedHatRepositories/helpers.js +8 -8
- data/webpack/redux/reducers/index.js +2 -4
- data/webpack/scenes/AlternateContentSources/ACSActions.js +72 -8
- data/webpack/scenes/AlternateContentSources/ACSConstants.js +5 -0
- data/webpack/scenes/AlternateContentSources/ACSIndexPage.js +1 -1
- data/webpack/scenes/AlternateContentSources/ACSSelectors.js +21 -12
- data/webpack/scenes/AlternateContentSources/Acs.scss +3 -0
- data/webpack/scenes/AlternateContentSources/Create/ACSCreateWizard.js +96 -49
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCreateFinish.js +49 -17
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCredentials.js +31 -4
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSProducts.js +44 -0
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSReview.js +73 -48
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSSmartProxies.js +30 -3
- data/webpack/scenes/AlternateContentSources/Create/Steps/AcsUrlPaths.js +42 -18
- data/webpack/scenes/AlternateContentSources/Create/Steps/NameACS.js +1 -0
- data/webpack/scenes/AlternateContentSources/Create/Steps/SelectSource.js +92 -23
- data/webpack/scenes/AlternateContentSources/Create/__tests__/acsCreate.test.js +273 -18
- data/webpack/scenes/AlternateContentSources/Create/__tests__/products.fixtures.json +92 -0
- data/webpack/scenes/AlternateContentSources/Details/ACSExpandableDetails.js +514 -0
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditCredentials.js +356 -0
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditDetails.js +106 -0
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditProducts.js +121 -0
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditSmartProxies.js +152 -0
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditURLPaths.js +143 -0
- data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSEdits.test.js +245 -0
- data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSExpandableDetails.test.js +109 -0
- data/webpack/scenes/AlternateContentSources/Details/__tests__/acsDetails.fixtures.json +49 -0
- data/webpack/scenes/AlternateContentSources/Details/__tests__/acsProducts.fixtures.json +95 -0
- data/webpack/scenes/AlternateContentSources/Details/__tests__/simplifiedAcsDetails.fixtures.json +39 -0
- data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.js +401 -97
- data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.scss +3 -0
- data/webpack/scenes/AlternateContentSources/MainTable/__tests__/acsIndex.fixtures.json +5 -1
- data/webpack/scenes/AlternateContentSources/MainTable/__tests__/acsTable.test.js +10 -16
- data/webpack/scenes/AlternateContentSources/helpers.js +26 -0
- data/webpack/scenes/Content/Details/ContentRepositories.js +5 -4
- data/webpack/scenes/Content/Details/__tests__/contentDetail.test.js +1 -12
- data/webpack/scenes/Content/Table/ContentTable.js +2 -1
- data/webpack/scenes/Content/__tests__/contentTable.test.js +1 -15
- data/webpack/scenes/ContentViews/ContentViewsConstants.js +16 -4
- data/webpack/scenes/ContentViews/ContentViewsPage.js +1 -1
- data/webpack/scenes/ContentViews/Copy/CopyContentViewForm.js +1 -0
- data/webpack/scenes/ContentViews/Copy/CopyContentViewModal.js +1 -0
- data/webpack/scenes/ContentViews/Create/ContentViewFormComponents.js +17 -7
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +30 -7
- data/webpack/scenes/ContentViews/Create/CreateContentViewModal.js +1 -0
- data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +21 -6
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeleteEnvironmentsSelection.js +3 -3
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignActivationKeysForm.js +10 -9
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignHostsForm.js +10 -9
- data/webpack/scenes/ContentViews/Delete/__tests__/CvData.fixtures.json +2 -0
- data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +7 -32
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewAddModal.js +3 -0
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewBulkAddModal.js +4 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js +1 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +6 -2
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +44 -32
- data/webpack/scenes/ContentViews/Details/ContentViewDetailActions.js +127 -0
- data/webpack/scenes/ContentViews/Details/ContentViewDetailSelectors.js +99 -0
- data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +4 -1
- data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +2 -0
- data/webpack/scenes/ContentViews/Details/Filters/Add/CVFilterAddModal.js +37 -9
- data/webpack/scenes/ContentViews/Details/Filters/Add/__tests__/cvFilterAdd.test.js +13 -3
- data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositorySelection.js +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +6 -1
- data/webpack/scenes/ContentViews/Details/Filters/ArtifactsWithNoErrata.js +9 -8
- data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +48 -29
- data/webpack/scenes/ContentViews/Details/Filters/CVDebFilterContent.js +241 -0
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +24 -8
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +25 -12
- data/webpack/scenes/ContentViews/Details/Filters/CVFilterDetailType.js +10 -0
- data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +15 -9
- data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +15 -4
- data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +27 -13
- data/webpack/scenes/ContentViews/Details/Filters/ContentType.js +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +70 -10
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +37 -23
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/CVDebMatchContentModal.js +97 -0
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/CVRpmMatchContentModal.js +4 -3
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/__tests__/CVRpmMatchContentModal.test.js +35 -34
- data/webpack/scenes/ContentViews/Details/Filters/Rules/DebPackage/AddEditDebPackageRuleModal.js +128 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVContainerImageFilterContent.test.js +98 -42
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +124 -36
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/ContentViewPackageGroupFilter.test.js +71 -11
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +37 -22
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilters.test.js +71 -24
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +7 -21
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilter.test.js +7 -23
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/emptyCVContainerImageFilterContent.fixtures.json +13 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/emptyCVPackageFilterRules.fixtures.json +13 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/emptyContentViewFilters.fixtures.json +13 -0
- data/webpack/scenes/ContentViews/Details/Histories/ContentViewHistories.js +4 -3
- data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.test.js +1 -11
- data/webpack/scenes/ContentViews/Details/Promote/ContentViewVersionPromote.js +2 -0
- data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +9 -3
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +1 -11
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignActivationKeys.js +9 -10
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignHosts.js +13 -10
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReviewEnvironments.js +3 -3
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/BulkDeleteModal.test.js +3 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompare.js +151 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompare.scss +82 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareConfig.js +409 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareHeader.js +184 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareTable.js +109 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/AnsibleCollectionsCompareAllContentData.fixtures.json +63 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/CVVersionCompare.test.js +679 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/CVVersionEmptyContentCompareData.fixtures.json +14 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/ContainerTagsCompareAllContentData.fixtures.json +95 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/DebPackagesCompareAllContentData.fixtures.json +87 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/ErrataCompareAllContentData.fixtures.json +319 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/ErrataCompareThreeContentTypesData.fixtures.json +131 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/FilesCompareAllContentData.fixtures.json +51 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/FilesCompareThreeContentTypesData.fixtures.json +48 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/ModuleStreamsCompareAllContentData.fixtures.json +239 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/PackageGroupsCompareAllContentData.fixtures.json +51 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/PythonPackagesCompareAllContentData.fixtures.json +315 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/RPMPackagesCompareAllContentData.fixtures.json +470 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/RPMPackagesCompareThreeContentTypesData.fixtures.json +475 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/contentViewDetails.fixtures.json +160 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/contentViewVersionOneDetials.fixtures.json +161 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/contentViewVersionThreeDetails.fixtures.json +154 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/contentViewVersionTwoDetails.fixtures.json +211 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/contentViewVersions.fixtures.json +1013 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/cvCompareRepositories.fixtures.json +175 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/emptyStateCVVersionOneDetails.fixtures.json +145 -0
- data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/emptyStateCVVersionTwoDetails.fixtures.json +145 -0
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +111 -39
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVEnvironmentSelectionForm.js +3 -3
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignActivationKeysForm.js +18 -17
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignHostsForm.js +11 -6
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +7 -22
- data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedActivationKeys.js +3 -3
- data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedHosts.js +3 -4
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailConfig.js +37 -13
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetails.js +1 -0
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsHeader.js +4 -1
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsTable.js +9 -4
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +30 -15
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsEmpty.test.js +1 -2
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +113 -40
- data/webpack/scenes/ContentViews/Publish/CVPublishForm.js +5 -1
- data/webpack/scenes/ContentViews/Publish/CVPublishReview.js +3 -3
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +104 -84
- data/webpack/scenes/ContentViews/__tests__/basicContentViews.fixtures.js +2 -0
- data/webpack/scenes/ContentViews/__tests__/contentViewList.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +60 -64
- data/webpack/scenes/ContentViews/__tests__/mockDetails.fixtures.json +7 -2
- data/webpack/scenes/ContentViews/components/CVBreadCrumb.js +1 -1
- data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelect.js +40 -0
- data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelectOption.js +87 -0
- data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.js +2 -1
- data/webpack/scenes/ContentViews/components/InactiveText.js +9 -1
- data/webpack/scenes/ContentViews/components/WizardHeader.js +1 -1
- data/webpack/scenes/ContentViews/expansions/RelatedCompositeContentViewsModal.js +4 -2
- data/webpack/scenes/ContentViews/expansions/RelatedContentViewComponentsModal.js +4 -3
- data/webpack/scenes/ContentViews/expansions/__tests__/contentViewComponentsModal.test.js +8 -1
- data/webpack/scenes/Hosts/ChangeContentSource/actions.js +18 -12
- data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +176 -30
- data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceTemplate.js +13 -17
- data/webpack/scenes/Hosts/ChangeContentSource/components/FormField.js +3 -4
- data/webpack/scenes/Hosts/ChangeContentSource/components/Hosts.js +55 -0
- data/webpack/scenes/Hosts/ChangeContentSource/components/HostsModal.js +59 -0
- data/webpack/scenes/Hosts/ChangeContentSource/constants.js +1 -0
- data/webpack/scenes/Hosts/ChangeContentSource/helpers.js +2 -5
- data/webpack/scenes/Hosts/ChangeContentSource/index.js +118 -74
- data/webpack/scenes/Hosts/ChangeContentSource/selectors.js +9 -5
- data/webpack/scenes/Hosts/ChangeContentSource/styles.scss +10 -2
- data/webpack/scenes/ModuleStreams/Details/ModuleDetailsSchema.js +10 -1
- data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetails.js +1 -1
- data/webpack/scenes/ModuleStreams/Details/__tests__/__snapshots__/ModuleStreamDetails.test.js.snap +97 -2
- data/webpack/scenes/ModuleStreams/ModuleStreamsPage.js +3 -9
- data/webpack/scenes/ModuleStreams/__tests__/__snapshots__/ModuleStreamPage.test.js.snap +7 -1
- data/webpack/scenes/Organizations/OrganizationSelectors.js +1 -0
- data/webpack/scenes/RedHatRepositories/components/Search.js +22 -16
- data/webpack/scenes/RedHatRepositories/index.scss +20 -1
- data/webpack/scenes/SmartProxy/SmartProxyContentActions.js +1 -1
- data/webpack/scenes/SmartProxy/SmartProxyContentTable.js +12 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CdnConfigurationConstants.js +2 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CdnTypeForm.js +11 -26
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CustomCdnTypeForm.js +154 -0
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/ExportSyncForm.js +4 -4
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/NetworkSyncForm.js +59 -44
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/CdnTypeForm.test.js +3 -28
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/CustomCdnTypeForm.test.js +97 -0
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/ExportSyncForm.test.js +1 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/NetworkSyncForm.test.js +4 -4
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/index.js +23 -10
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +1 -31
- data/webpack/scenes/Subscriptions/SubscriptionConstants.js +2 -1
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +25 -23
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +3 -3
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/__snapshots__/UpstreamSubscriptionsPage.test.js.snap +2 -2
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +37 -4
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.js +23 -10
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.test.js +0 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/__snapshots__/SubscriptionsToolbar.test.js.snap +65 -15
- data/webpack/scenes/Tasks/helpers.js +14 -7
- data/webpack/test-utils/nockWrapper.js +7 -0
- metadata +158 -272
- data/app/lib/actions/katello/pulp_selector.rb +0 -24
- data/app/lib/actions/katello/repository/correct_checksum.rb +0 -24
- data/app/lib/actions/katello/repository/destroy_package_group.rb +0 -26
- data/app/lib/actions/katello/repository/upload_package_group.rb +0 -24
- data/app/lib/actions/pulp/abstract.rb +0 -37
- data/app/lib/actions/pulp/abstract_async_task.rb +0 -154
- data/app/lib/actions/pulp/abstract_async_task_group.rb +0 -94
- data/app/lib/actions/pulp/consumer/sync_capsule.rb +0 -45
- data/app/lib/actions/pulp/consumer/unassociate_units.rb +0 -20
- data/app/lib/actions/pulp/expect_one_task.rb +0 -11
- data/app/lib/actions/pulp/orchestration/orphan_cleanup/remove_orphans.rb +0 -16
- data/app/lib/actions/pulp/orchestration/repository/copy_all_units.rb +0 -19
- data/app/lib/actions/pulp/orchestration/repository/delete.rb +0 -15
- data/app/lib/actions/pulp/orchestration/repository/refresh.rb +0 -14
- data/app/lib/actions/pulp/orchestration/repository/refresh_if_needed.rb +0 -13
- data/app/lib/actions/pulp/orchestration/repository/refresh_repos.rb +0 -19
- data/app/lib/actions/pulp/orchestration/repository/remove_units.rb +0 -14
- data/app/lib/actions/pulp/orchestration/repository/smart_proxy_sync.rb +0 -34
- data/app/lib/actions/pulp/orchestration/repository/sync.rb +0 -18
- data/app/lib/actions/pulp/orchestration/repository/upload_content.rb +0 -37
- data/app/lib/actions/pulp/orphan_cleanup/remove_orphans.rb +0 -15
- data/app/lib/actions/pulp/orphan_cleanup/remove_unneeded_repos.rb +0 -16
- data/app/lib/actions/pulp/repository/abstract_copy_content.rb +0 -45
- data/app/lib/actions/pulp/repository/abstract_remove_content.rb +0 -32
- data/app/lib/actions/pulp/repository/clear.rb +0 -18
- data/app/lib/actions/pulp/repository/copy_all_units.rb +0 -30
- data/app/lib/actions/pulp/repository/copy_units.rb +0 -25
- data/app/lib/actions/pulp/repository/create.rb +0 -28
- data/app/lib/actions/pulp/repository/create_in_plan.rb +0 -15
- data/app/lib/actions/pulp/repository/create_upload_request.rb +0 -20
- data/app/lib/actions/pulp/repository/delete_upload_request.rb +0 -19
- data/app/lib/actions/pulp/repository/destroy.rb +0 -28
- data/app/lib/actions/pulp/repository/distributor_publish.rb +0 -25
- data/app/lib/actions/pulp/repository/download.rb +0 -16
- data/app/lib/actions/pulp/repository/import_upload.rb +0 -19
- data/app/lib/actions/pulp/repository/presenters/abstract_sync_presenter.rb +0 -47
- data/app/lib/actions/pulp/repository/presenters/deb_presenter.rb +0 -95
- data/app/lib/actions/pulp/repository/presenters/docker_presenter.rb +0 -103
- data/app/lib/actions/pulp/repository/presenters/file_unit_presenter.rb +0 -42
- data/app/lib/actions/pulp/repository/presenters/yum_presenter.rb +0 -131
- data/app/lib/actions/pulp/repository/refresh.rb +0 -21
- data/app/lib/actions/pulp/repository/regenerate_applicability.rb +0 -21
- data/app/lib/actions/pulp/repository/remove_distribution.rb +0 -11
- data/app/lib/actions/pulp/repository/remove_units.rb +0 -44
- data/app/lib/actions/pulp/repository/sync.rb +0 -99
- data/app/lib/actions/pulp/repository/upload_file.rb +0 -28
- data/app/lib/actions/pulp/repository_group/create.rb +0 -31
- data/app/lib/actions/pulp/repository_group/delete.rb +0 -17
- data/app/lib/actions/pulp/repository_group/export.rb +0 -51
- data/app/lib/katello/util/package_clause_generator.rb +0 -77
- data/app/models/katello/glue/pulp/pulp_errors.rb +0 -9
- data/app/models/katello/glue/pulp/repo.rb +0 -353
- data/app/models/katello/pulp_sync_status.rb +0 -165
- data/app/models/katello/pulp_task_status.rb +0 -63
- data/app/services/katello/candlepin/upstream_consumer.rb +0 -28
- data/app/services/katello/pulp/content.rb +0 -24
- data/app/services/katello/pulp/importer_comparison.rb +0 -28
- data/app/services/katello/pulp/repository/deb.rb +0 -61
- data/app/services/katello/pulp/repository/docker.rb +0 -82
- data/app/services/katello/pulp/repository/file.rb +0 -52
- data/app/services/katello/pulp/repository/yum.rb +0 -205
- data/app/services/katello/pulp/repository.rb +0 -327
- data/app/services/katello/pulp/server.rb +0 -35
- data/app/services/katello/pulp/simple_package.rb +0 -24
- data/app/services/katello/pulp/smart_proxy_repository.rb +0 -52
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.controller.js +0 -34
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +0 -751
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-deletion.controller.js +0 -42
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-activation-keys.controller.js +0 -81
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-confirm.controller.js +0 -65
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-content-hosts.controller.js +0 -82
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-environments.controller.js +0 -76
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion.controller.js +0 -160
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/content-view-deletion.html +0 -58
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-activation-keys.html +0 -94
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-confirm.html +0 -76
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-content-hosts.html +0 -88
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-environments.html +0 -73
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-component.factory.js +0 -32
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-available-content-views.controller.js +0 -75
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-content-views-list.controller.js +0 -68
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-available-content-views.html +0 -81
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-content-views-list.html +0 -81
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite.html +0 -24
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-deb-repositories.controller.js +0 -50
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-docker-repositories.controller.js +0 -42
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-file-repositories.controller.js +0 -50
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-ostree-repositories.controller.js +0 -42
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-repositories.controller.js +0 -45
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-deb-repositories-list.controller.js +0 -48
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-details.controller.js +0 -100
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-docker-repositories-list.controller.js +0 -49
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-file-repositories-list.controller.js +0 -48
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-ostree-repositories-list.controller.js +0 -49
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-promotion.controller.js +0 -129
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-publish.controller.js +0 -46
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-repositories-list.controller.js +0 -42
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-repositories.service.js +0 -91
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-versions.controller.js +0 -240
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-errata-filter.controller.js +0 -115
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-module-stream-filter.controller.js +0 -68
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-package-group-filter.controller.js +0 -66
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/date-type-errata-filter.controller.js +0 -77
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/docker-tag-filter.controller.js +0 -137
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/edit-filter.controller.js +0 -36
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/errata-filter-list.controller.js +0 -78
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/errata-filter.controller.js +0 -74
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-content-type.filter.js +0 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-details.controller.js +0 -34
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-helper.service.js +0 -30
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-repositories.controller.js +0 -86
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-rule-matching-package-modal.controller.js +0 -37
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-type.filter.js +0 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter.factory.js +0 -66
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filters.controller.js +0 -85
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/module-stream-list-filter.controller.js +0 -73
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/new-filter.controller.js +0 -100
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-filter.controller.js +0 -179
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-group-list-filter.controller.js +0 -75
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/rule.factory.js +0 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/date-type-errata-filter.html +0 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/date-type-errata.html +0 -75
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/docker-filter.html +0 -28
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/docker-tag-filter-details.html +0 -65
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/edit-filter.html +0 -19
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/errata-filter-details.html +0 -63
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/errata-filter.html +0 -50
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-details.html +0 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-repositories.html +0 -121
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-rule-matching-package-modal.html +0 -43
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filters.html +0 -85
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/module-stream-filter-details.html +0 -58
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/module-stream-filter.html +0 -43
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/new-filter.html +0 -62
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter-details.html +0 -182
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter.html +0 -28
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-group-filter-details.html +0 -42
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-group-filter.html +0 -43
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/partials/filter-repositories-count.html +0 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/content-view-history.controller.js +0 -47
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/content-view-history.factory.js +0 -22
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/views/content-view-history.html +0 -36
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-copy.html +0 -20
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-deb-repositories.html +0 -87
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details-tasks.html +0 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +0 -144
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-docker-repositories.html +0 -114
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-file-repositories.html +0 -87
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-info.html +0 -63
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-ostree-repositories.html +0 -87
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-promotion.html +0 -59
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +0 -58
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-repositories.html +0 -116
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +0 -126
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/new/content-view-new.controller.js +0 -78
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/new/views/content-view-new.html +0 -127
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +0 -138
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version.controller.js +0 -59
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-apt.html +0 -25
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-components.html +0 -19
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-deb.html +0 -19
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-details.html +0 -15
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-docker.html +0 -23
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-errata.html +0 -48
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-file.html +0 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-module-streams.html +0 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-package-groups.html +0 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-packages.html +0 -27
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-yum.html +0 -42
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +0 -83
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/views/content-views.html +0 -74
- data/locale/zanata.xml +0 -28
- data/vendor/assets/javascripts/katello/jquery.trunk8.js +0 -203
- data/webpack/scenes/AnsibleCollections/AnsibleCollectionsActions.js +0 -30
- data/webpack/scenes/AnsibleCollections/AnsibleCollectionsConstants.js +0 -3
- data/webpack/scenes/AnsibleCollections/AnsibleCollectionsPage.js +0 -80
- data/webpack/scenes/AnsibleCollections/AnsibleCollectionsReducer.js +0 -39
- data/webpack/scenes/AnsibleCollections/AnsibleCollectionsTableSchema.js +0 -60
- data/webpack/scenes/AnsibleCollections/AnsibleCollectionsTables.scss +0 -0
- data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetails.js +0 -94
- data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetailsActions.js +0 -23
- data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetailsConstants.js +0 -3
- data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetailsReducer.js +0 -30
- data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionsSchema.js +0 -35
- data/webpack/scenes/AnsibleCollections/Details/__tests__/AnsibleCollectionDetailInfo.test.js +0 -16
- data/webpack/scenes/AnsibleCollections/Details/__tests__/AnsibleCollectionDetails.fixtures.js +0 -25
- data/webpack/scenes/AnsibleCollections/Details/__tests__/AnsibleCollectionDetails.test.js +0 -27
- data/webpack/scenes/AnsibleCollections/Details/__tests__/AnsibleCollectionDetailsActions.test.js +0 -41
- data/webpack/scenes/AnsibleCollections/Details/__tests__/AnsibleCollectionDetailsReducer.test.js +0 -33
- data/webpack/scenes/AnsibleCollections/Details/__tests__/__snapshots__/AnsibleCollectionDetailInfo.test.js.snap +0 -83
- data/webpack/scenes/AnsibleCollections/Details/__tests__/__snapshots__/AnsibleCollectionDetails.test.js.snap +0 -190
- data/webpack/scenes/AnsibleCollections/Details/__tests__/__snapshots__/AnsibleCollectionDetailsActions.test.js.snap +0 -58
- data/webpack/scenes/AnsibleCollections/Details/__tests__/__snapshots__/AnsibleCollectionDetailsReducer.test.js.snap +0 -50
- data/webpack/scenes/AnsibleCollections/Details/index.js +0 -17
- data/webpack/scenes/AnsibleCollections/__tests__/AnsibleCollectionPage.test.js +0 -23
- data/webpack/scenes/AnsibleCollections/__tests__/AnsibleCollections.fixtures.js +0 -52
- data/webpack/scenes/AnsibleCollections/__tests__/AnsibleCollectionsActions.test.js +0 -48
- data/webpack/scenes/AnsibleCollections/__tests__/AnsibleCollectionsReducer.test.js +0 -46
- data/webpack/scenes/AnsibleCollections/__tests__/AnsibleCollectionsTable.test.js +0 -25
- data/webpack/scenes/AnsibleCollections/__tests__/__snapshots__/AnsibleCollectionPage.test.js.snap +0 -73
- data/webpack/scenes/AnsibleCollections/__tests__/__snapshots__/AnsibleCollectionsTable.test.js.snap +0 -81
- data/webpack/scenes/AnsibleCollections/index.js +0 -17
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/__tests__/CVRpmMatchContentSearch.fixtures.json +0 -33
- data/webpack/scenes/Subscriptions/Manifest/__tests__/ManageManifestModal.test.js +0 -123
@@ -7,7 +7,7 @@ module Katello
|
|
7
7
|
generic_repo_wrap_params << option.name
|
8
8
|
end
|
9
9
|
|
10
|
-
repo_wrap_params = RootRepository.attribute_names +
|
10
|
+
repo_wrap_params = RootRepository.attribute_names + generic_repo_wrap_params
|
11
11
|
|
12
12
|
wrap_parameters :repository, :include => repo_wrap_params
|
13
13
|
|
@@ -55,7 +55,6 @@ module Katello
|
|
55
55
|
param :exclude_tags, Array, :desc => N_("Comma-separated list of tags to exclude when syncing a container image repository. Default: any tag ending in \"-source\"")
|
56
56
|
param :download_policy, ["immediate", "on_demand"], :desc => N_("download policy for yum, deb, and docker repos (either 'immediate' or 'on_demand')")
|
57
57
|
param :download_concurrency, :number, :desc => N_("Used to determine download concurrency of the repository in pulp3. Use value less than 20. Defaults to 10")
|
58
|
-
param :mirror_on_sync, :bool, :desc => N_("true if this repository when synced has to be mirrored from the source and stale rpms removed (Deprecated)")
|
59
58
|
param :mirroring_policy, Katello::RootRepository::MIRRORING_POLICIES, :desc => N_("Policy to set for mirroring content. Must be one of %s.") % RootRepository::MIRRORING_POLICIES
|
60
59
|
param :verify_ssl_on_sync, :bool, :desc => N_("if true, Katello will verify the upstream url's SSL certifcates are signed by a trusted CA")
|
61
60
|
param :upstream_username, String, :desc => N_("Username of the upstream repository user used for authentication")
|
@@ -81,7 +80,7 @@ module Katello
|
|
81
80
|
def_param_group :repo_create do
|
82
81
|
param :label, String, :required => false
|
83
82
|
param :product_id, :number, :required => true, :desc => N_("Product the repository belongs to")
|
84
|
-
param :content_type,
|
83
|
+
param :content_type, String, :required => true, :desc => N_("Type of repository. Available types endpoint: /katello/api/repositories/repository_types")
|
85
84
|
end
|
86
85
|
|
87
86
|
api :GET, "/repositories", N_("List of enabled repositories")
|
@@ -102,18 +101,28 @@ module Katello
|
|
102
101
|
param :ansible_collection_id, String, :desc => N_("Id of an ansible collection to find repositories that contain the ansible collection")
|
103
102
|
param :library, :bool, :desc => N_("show repositories in Library and the default content view")
|
104
103
|
param :archived, :bool, :desc => N_("show archived repositories")
|
105
|
-
param :content_type,
|
104
|
+
param :content_type, String, :desc => N_("Limit the repository type. Available types endpoint: /katello/api/repositories/repository_types")
|
106
105
|
param :name, String, :desc => N_("name of the repository"), :required => false
|
107
106
|
param :label, String, :desc => N_("label of the repository"), :required => false
|
108
107
|
param :description, String, :desc => N_("description of the repository")
|
109
108
|
param :available_for, String, :desc => N_("interpret specified object to return only Repositories that can be associated with specified object. Only 'content_view' & 'content_view_version' are supported."),
|
110
109
|
:required => false
|
111
|
-
param :with_content,
|
110
|
+
param :with_content, String, :desc => N_("Filter repositories by content unit type (erratum, docker_tag, etc.). Check the \"Indexed?\" types here: /katello/api/repositories/repository_types")
|
112
111
|
param :download_policy, ::Katello::RootRepository::DOWNLOAD_POLICIES, :desc => N_("limit to only repositories with this download policy")
|
113
112
|
param :username, String, :desc => N_("only show the repositories readable by this user with this username")
|
114
113
|
param_group :search, Api::V2::ApiController
|
115
114
|
add_scoped_search_description_for(Repository)
|
116
115
|
def index
|
116
|
+
unless params[:content_type].empty? || RepositoryTypeManager.find(params[:content_type])
|
117
|
+
msg = _("Invalid params provided - content_type must be one of %s") %
|
118
|
+
RepositoryTypeManager.enabled_repository_types.keys.sort.join(",")
|
119
|
+
fail HttpErrors::UnprocessableEntity, msg
|
120
|
+
end
|
121
|
+
unless params[:with_content].empty? || RepositoryTypeManager.find_content_type(params[:with_content], true)
|
122
|
+
msg = _("Invalid params provided - with_content must be one of %s") %
|
123
|
+
RepositoryTypeManager.indexable_content_types.map(&:label).sort.join(",")
|
124
|
+
fail HttpErrors::UnprocessableEntity, msg
|
125
|
+
end
|
117
126
|
base_args = [index_relation.distinct, :name, :asc]
|
118
127
|
options = {:includes => [:environment, {:root => [:gpg_key, :product]}]}
|
119
128
|
|
@@ -224,6 +233,51 @@ module Katello
|
|
224
233
|
query
|
225
234
|
end
|
226
235
|
|
236
|
+
api :GET, "/repositories/compare/", N_("List :resource")
|
237
|
+
param :content_view_version_ids, Array, :desc => N_("content view versions to compare")
|
238
|
+
param :repository_id, :number, :desc => N_("Library repository id to restrict comparisons to")
|
239
|
+
param :restrict_comparison, String, :desc => N_("Return same, different or all results")
|
240
|
+
|
241
|
+
def compare
|
242
|
+
fail _("No content_view_version_ids provided") if params[:content_view_version_ids].empty?
|
243
|
+
@versions = ContentViewVersion.readable.where(:id => params[:content_view_version_ids])
|
244
|
+
if @versions.count != params[:content_view_version_ids].uniq.length
|
245
|
+
missing = params[:content_view_version_ids] - @versions.pluck(:id)
|
246
|
+
fail HttpErrors::NotFound, _("Couldn't find content view versions '%s'") % missing.join(',')
|
247
|
+
end
|
248
|
+
|
249
|
+
archived_version_repos = Katello::Repository.where(:content_view_version_id => @versions&.pluck(:id))&.archived
|
250
|
+
repos = Katello::Repository.where(id: archived_version_repos&.pluck(:library_instance_id))
|
251
|
+
repos = repos.where(:root_id => @repo.root_id) if @repo
|
252
|
+
repositories = restrict_comparison(repos, @versions, params[:restrict_comparison])
|
253
|
+
collection = scoped_search(repositories.distinct, :name, :asc)
|
254
|
+
collection[:results] = collection[:results].map { |item| ContentViewVersionComparePresenter.new(item, @versions, @repo) }
|
255
|
+
respond_for_index(:collection => collection)
|
256
|
+
end
|
257
|
+
|
258
|
+
def restrict_comparison(collection, content_view_versions = nil, compare = 'all')
|
259
|
+
case compare
|
260
|
+
when 'same'
|
261
|
+
same_repo_ids = compare_same(collection, content_view_versions)
|
262
|
+
collection.where(id: same_repo_ids)
|
263
|
+
when 'different'
|
264
|
+
same_repo_ids = compare_same(collection, content_view_versions)
|
265
|
+
collection.where.not(id: same_repo_ids)
|
266
|
+
else
|
267
|
+
collection
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
271
|
+
def compare_same(collection, content_view_versions = nil)
|
272
|
+
same_repo_ids = []
|
273
|
+
collection.each do |repo|
|
274
|
+
if (content_view_versions&.pluck(:id)&.- repo.published_in_versions&.pluck(:id))&.empty?
|
275
|
+
same_repo_ids << repo.id
|
276
|
+
end
|
277
|
+
end
|
278
|
+
same_repo_ids
|
279
|
+
end
|
280
|
+
|
227
281
|
api :POST, "/repositories", N_("Create a custom repository")
|
228
282
|
param :name, String, :desc => N_("Name of the repository"), :required => true
|
229
283
|
param :description, String, :desc => N_("Description of the repository"), :required => false
|
@@ -233,7 +287,7 @@ module Katello
|
|
233
287
|
repo_params = repository_params
|
234
288
|
unless RepositoryTypeManager.creatable_by_user?(repo_params[:content_type], false)
|
235
289
|
msg = _("Invalid params provided - content_type must be one of %s") %
|
236
|
-
RepositoryTypeManager.creatable_repository_types
|
290
|
+
RepositoryTypeManager.creatable_repository_types.keys.sort.join(",")
|
237
291
|
fail HttpErrors::UnprocessableEntity, msg
|
238
292
|
end
|
239
293
|
|
@@ -291,7 +345,7 @@ module Katello
|
|
291
345
|
param :id, :number, :required => true, :desc => N_("repository ID")
|
292
346
|
param :source_url, String, :desc => N_("temporarily override feed URL for sync"), :required => false
|
293
347
|
param :incremental, :bool, :desc => N_("perform an incremental import"), :required => false
|
294
|
-
param :skip_metadata_check, :bool, :desc => N_("Force sync even if no upstream changes are detected. Only used with yum repositories."), :required => false
|
348
|
+
param :skip_metadata_check, :bool, :desc => N_("Force sync even if no upstream changes are detected. Only used with yum or deb repositories."), :required => false
|
295
349
|
param :validate_contents, :bool, :desc => N_("Force a sync and validate the checksums of all content. Only used with yum repositories."), :required => false
|
296
350
|
def sync
|
297
351
|
sync_options = {
|
@@ -374,9 +428,14 @@ module Katello
|
|
374
428
|
desc "Remove content from a repository"
|
375
429
|
param :id, :number, :required => true, :desc => "repository ID"
|
376
430
|
param 'ids', Array, :required => true, :desc => "Array of content ids to remove"
|
377
|
-
param :content_type,
|
431
|
+
param :content_type, String, :required => false, :desc => N_("The type of content to remove (srpm, docker_manifest, etc.). Check removable types here: /katello/api/repositories/repository_types")
|
378
432
|
param 'sync_capsule', :bool, :desc => N_("Whether or not to sync an external capsule after upload. Default: true")
|
379
433
|
def remove_content
|
434
|
+
unless params[:content_type].empty? || RepositoryTypeManager.removable_content_types.map(&:label).include?(params[:content_type])
|
435
|
+
msg = _("Invalid params provided - content_type must be one of %s") %
|
436
|
+
RepositoryTypeManager.removable_content_types.map(&:label).sort.join(",")
|
437
|
+
fail HttpErrors::UnprocessableEntity, msg
|
438
|
+
end
|
380
439
|
sync_capsule = ::Foreman::Cast.to_bool(params.fetch(:sync_capsule, true))
|
381
440
|
fail _("No content ids provided") if @content.blank?
|
382
441
|
respond_for_async :resource => sync_task(::Actions::Katello::Repository::RemoveContent, @repository, @content, content_type: params[:content_type], sync_capsule: sync_capsule)
|
@@ -385,10 +444,15 @@ module Katello
|
|
385
444
|
api :POST, "/repositories/:id/upload_content", N_("Upload content into the repository")
|
386
445
|
param :id, :number, :required => true, :desc => N_("repository ID")
|
387
446
|
param :content, File, :required => true, :desc => N_("Content files to upload. Can be a single file or array of files.")
|
388
|
-
param :content_type,
|
447
|
+
param :content_type, String, :required => false, :desc => N_("The type of content to upload (srpm, file, etc.). Check uploadable types here: /katello/api/repositories/repository_types")
|
389
448
|
def upload_content
|
390
449
|
fail Katello::Errors::InvalidRepositoryContent, _("Cannot upload Container Image content.") if @repository.docker?
|
391
450
|
fail Katello::Errors::InvalidRepositoryContent, _("Cannot upload Ansible collections.") if @repository.ansible_collection?
|
451
|
+
unless params[:content_type].empty? || RepositoryTypeManager.uploadable_content_types.map(&:label).include?(params[:content_type])
|
452
|
+
msg = _("Invalid params provided - content_type must be one of %s") %
|
453
|
+
RepositoryTypeManager.uploadable_content_types.map(&:label).sort.join(",")
|
454
|
+
fail HttpErrors::UnprocessableEntity, msg
|
455
|
+
end
|
392
456
|
|
393
457
|
filepaths = Array.wrap(params[:content]).compact.collect do |content|
|
394
458
|
{path: content.path, filename: content.original_filename}
|
@@ -421,7 +485,7 @@ module Katello
|
|
421
485
|
param 'content_unit_id', String
|
422
486
|
param 'size', String
|
423
487
|
param 'checksum', String
|
424
|
-
param 'name', String, :desc => N_("Needs to only be set for file repositories or docker tags")
|
488
|
+
param 'name', String, :desc => N_("Needs to only be set for file repositories or docker tags"), :required => true
|
425
489
|
param 'digest', String, :desc => N_("Needs to only be set for docker tags")
|
426
490
|
end
|
427
491
|
Katello::RepositoryTypeManager.generic_repository_types.each_pair do |_, repo_type|
|
@@ -442,6 +506,14 @@ module Katello
|
|
442
506
|
upload.permit(:id, :content_unit_id, :size, :checksum, :name, :digest).to_h
|
443
507
|
end
|
444
508
|
|
509
|
+
if @repository.content_type != 'docker' && uploads.first['checksum'].nil?
|
510
|
+
fail HttpErrors::BadRequest, _('Checksum is a required parameter.')
|
511
|
+
end
|
512
|
+
|
513
|
+
if uploads.first['name'].nil?
|
514
|
+
fail HttpErrors::BadRequest, _('Name is a required parameter.')
|
515
|
+
end
|
516
|
+
|
445
517
|
begin
|
446
518
|
upload_args = {
|
447
519
|
content_type: params[:content_type],
|
@@ -507,7 +579,7 @@ module Katello
|
|
507
579
|
|
508
580
|
# rubocop:disable Metrics/CyclomaticComplexity
|
509
581
|
def repository_params
|
510
|
-
keys = [:download_policy, :
|
582
|
+
keys = [:download_policy, :mirroring_policy, :sync_policy, :arch, :verify_ssl_on_sync, :upstream_password,
|
511
583
|
:upstream_username, :download_concurrency, :upstream_authentication_token,
|
512
584
|
{:os_versions => []}, :deb_releases, :deb_components, :deb_architectures, :description,
|
513
585
|
:http_proxy_policy, :http_proxy_id, :retain_package_versions_count, {:ignorable_content => []}
|
@@ -531,8 +603,7 @@ module Katello
|
|
531
603
|
keys += [:url, :gpg_key_id, :ssl_ca_cert_id, :ssl_client_cert_id, :ssl_client_key_id, :unprotected, :name,
|
532
604
|
:checksum_type]
|
533
605
|
end
|
534
|
-
|
535
|
-
handle_mirror_on_sync(to_return)
|
606
|
+
params.require(:repository).permit(*keys).to_h.with_indifferent_access
|
536
607
|
end
|
537
608
|
|
538
609
|
def get_content_credential(repo_params, content_type)
|
@@ -591,19 +662,6 @@ module Katello
|
|
591
662
|
end
|
592
663
|
# rubocop:enable Metrics/CyclomaticComplexity,Metrics/MethodLength
|
593
664
|
|
594
|
-
def handle_mirror_on_sync(repo_params)
|
595
|
-
if !repo_params.key?(:mirroring_policy) && repo_params.key?(:mirror_on_sync)
|
596
|
-
::Foreman::Deprecation.api_deprecation_warning("mirror_on_sync is deprecated in favor of mirroring_policy. It will be removed in Katello 4.6.")
|
597
|
-
if ::Foreman::Cast.to_bool(repo_params[:mirror_on_sync])
|
598
|
-
repo_params[:mirroring_policy] = Katello::RootRepository::MIRRORING_POLICY_CONTENT
|
599
|
-
else
|
600
|
-
repo_params[:mirroring_policy] = Katello::RootRepository::MIRRORING_POLICY_ADDITIVE
|
601
|
-
end
|
602
|
-
end
|
603
|
-
repo_params.delete(:mirror_on_sync)
|
604
|
-
repo_params
|
605
|
-
end
|
606
|
-
|
607
665
|
def error_on_rh_product
|
608
666
|
fail HttpErrors::BadRequest, _("Red Hat products cannot be manipulated.") if @product.redhat?
|
609
667
|
end
|
@@ -659,12 +717,10 @@ module Katello
|
|
659
717
|
end
|
660
718
|
|
661
719
|
def generic_remote_options_hash(repo_params)
|
662
|
-
generic_remote_options = {}
|
663
720
|
content_type = @repository&.content_type || repo_params[:content_type]
|
664
|
-
RepositoryTypeManager.generic_remote_options(content_type: content_type).
|
665
|
-
|
721
|
+
RepositoryTypeManager.generic_remote_options(content_type: content_type).to_h do |option|
|
722
|
+
[option.name, repo_params[option.name].nil? ? option&.default : repo_params[option.name]]
|
666
723
|
end
|
667
|
-
generic_remote_options
|
668
724
|
end
|
669
725
|
|
670
726
|
def generic_content_type_import_upload_args
|
@@ -38,12 +38,11 @@ module Katello
|
|
38
38
|
param_group :search, Api::V2::ApiController
|
39
39
|
add_scoped_search_description_for(Katello::ProductContent)
|
40
40
|
def index
|
41
|
-
collection = scoped_search(index_relation, :name, :asc, :resource_class => Katello::ProductContent)
|
41
|
+
collection = scoped_search(index_relation, :name, :asc, :resource_class => Katello::ProductContent, :custom_sort => ->(relation) { custom_sort_results(relation) })
|
42
42
|
pcf = ProductContentFinder.wrap_with_overrides(
|
43
43
|
product_contents: collection[:results],
|
44
|
-
overrides: @consumable&.content_overrides
|
45
|
-
|
46
|
-
collection[:results] = custom_sort_results(pcf)
|
44
|
+
overrides: @consumable&.content_overrides)
|
45
|
+
collection[:results] = pcf
|
47
46
|
respond(:collection => collection)
|
48
47
|
end
|
49
48
|
|
@@ -154,7 +153,13 @@ module Katello
|
|
154
153
|
:match_subscription => !content_access_mode_all,
|
155
154
|
:match_environment => content_access_mode_env,
|
156
155
|
:consumable => @consumable)
|
157
|
-
relation.merge(content_finder.product_content)
|
156
|
+
unfiltered = relation.merge(content_finder.product_content)
|
157
|
+
return unfiltered unless params[:status]
|
158
|
+
filtered_ids = ProductContentFinder.wrap_with_overrides(
|
159
|
+
product_contents: unfiltered,
|
160
|
+
overrides: @consumable&.content_overrides,
|
161
|
+
status: params[:status]).map(&:id).uniq
|
162
|
+
unfiltered.where(id: filtered_ids)
|
158
163
|
end
|
159
164
|
|
160
165
|
def find_product_content
|
@@ -236,18 +241,24 @@ module Katello
|
|
236
241
|
else
|
237
242
|
0
|
238
243
|
end
|
239
|
-
Rails.logger.debug [pc.product_name, pc.enabled_content_override, "Id: #{pc.id}", "Score: #{score}"]
|
240
244
|
score
|
241
245
|
end
|
242
246
|
|
243
|
-
def custom_sort_results(
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
247
|
+
def custom_sort_results(unsorted_relation)
|
248
|
+
return unsorted_relation unless params[:sort_by] == 'enabled_by_default'
|
249
|
+
product_content_finder = ProductContentFinder.wrap_with_overrides(
|
250
|
+
product_contents: unsorted_relation,
|
251
|
+
overrides: @consumable&.content_overrides,
|
252
|
+
status: params[:status])
|
253
|
+
sorted_pcps = if params[:sort_by] == 'enabled_by_default' && params[:sort_order] == 'desc'
|
254
|
+
product_content_finder.sort { |pca, pcb| sort_score(pca) <=> sort_score(pcb) }.reverse!
|
255
|
+
elsif params[:sort_by] == 'enabled_by_default'
|
256
|
+
product_content_finder.sort { |pca, pcb| sort_score(pca) <=> sort_score(pcb) }
|
257
|
+
else
|
258
|
+
product_content_finder
|
259
|
+
end
|
260
|
+
sort_order = sorted_pcps.map(&:id)
|
261
|
+
unsorted_relation.reorder(Arel.sql("array_position('{#{sort_order.join(',')}}'::int[], #{Katello::ProductContent.table_name}.id)"))
|
251
262
|
end
|
252
263
|
end
|
253
264
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module Katello
|
2
2
|
class Api::V2::SimpleContentAccessController < Api::V2::ApiController
|
3
3
|
before_action :find_organization
|
4
|
-
before_action :check_upstream_connection
|
5
4
|
|
6
5
|
resource_description do
|
7
6
|
description "Red Hat subscriptions management platform."
|
@@ -11,10 +10,19 @@ module Katello
|
|
11
10
|
api :GET, "/organizations/:organization_id/simple_content_access/eligible",
|
12
11
|
N_("Check if the specified organization is eligible for Simple Content Access")
|
13
12
|
def eligible
|
14
|
-
eligible
|
13
|
+
::Foreman::Deprecation.api_deprecation_warning("This endpoint is deprecated and will be removed in a future release. All organizations are now eligible for Simple Content Access.")
|
14
|
+
eligible = @organization.simple_content_access_eligible?
|
15
15
|
render json: { simple_content_access_eligible: eligible }
|
16
16
|
end
|
17
17
|
|
18
|
+
api :GET, "/organizations/:organization_id/simple_content_access/status",
|
19
|
+
N_("Check if the specified organization has Simple Content Access enabled")
|
20
|
+
param :organization_id, :number, :desc => N_("Organization ID"), :required => true
|
21
|
+
def status
|
22
|
+
status = @organization.simple_content_access?
|
23
|
+
render json: { simple_content_access: status }
|
24
|
+
end
|
25
|
+
|
18
26
|
api :PUT, "/organizations/:organization_id/simple_content_access/enable",
|
19
27
|
N_("Enable simple content access for a manifest")
|
20
28
|
param :organization_id, :number, :desc => N_("Organization ID"), :required => true
|
@@ -48,7 +48,7 @@ module Katello
|
|
48
48
|
end
|
49
49
|
|
50
50
|
api :DELETE, "/organizations/:organization_id/upstream_subscriptions",
|
51
|
-
N_("Remove one or more subscriptions from an upstream
|
51
|
+
N_("Remove one or more subscriptions from an upstream manifest")
|
52
52
|
param :organization_id, :number, :desc => N_("Organization ID"), :required => true
|
53
53
|
param :pool_ids, Array, desc: N_("Array of local pool IDs. Only pools originating upstream are accepted."), required: true
|
54
54
|
def destroy
|
@@ -14,7 +14,7 @@ module Katello
|
|
14
14
|
bulk_params[:included] ||= {}
|
15
15
|
bulk_params[:excluded] ||= {}
|
16
16
|
|
17
|
-
if bulk_params[:included][:ids].blank? && bulk_params[:included][:search].nil?
|
17
|
+
if !params[:install_all] && bulk_params[:included][:ids].blank? && bulk_params[:included][:search].nil?
|
18
18
|
fail HttpErrors::BadRequest, _("No hosts have been specified.")
|
19
19
|
end
|
20
20
|
|
@@ -25,9 +25,8 @@ module Katello
|
|
25
25
|
@hosts = @hosts.where(id: bulk_params[:included][:ids])
|
26
26
|
end
|
27
27
|
|
28
|
-
if bulk_params[:included][:search]
|
29
|
-
|
30
|
-
@hosts = @hosts.merge(search_hosts)
|
28
|
+
if bulk_params[:included][:search].present?
|
29
|
+
@hosts = @hosts.search_for(bulk_params[:included][:search])
|
31
30
|
end
|
32
31
|
|
33
32
|
@hosts = restrict_to.call(@hosts) if restrict_to
|
@@ -35,8 +34,7 @@ module Katello
|
|
35
34
|
if bulk_params[:excluded][:ids].present?
|
36
35
|
@hosts = @hosts.where.not(id: bulk_params[:excluded][:ids])
|
37
36
|
end
|
38
|
-
|
39
|
-
fail HttpErrors::Forbidden, _("Action unauthorized to be performed on selected hosts.") if @hosts.empty?
|
37
|
+
fail HttpErrors::Forbidden, _("No hosts matched search, or action unauthorized for selected hosts.") if @hosts.empty?
|
40
38
|
|
41
39
|
@hosts
|
42
40
|
end
|
@@ -19,8 +19,7 @@ module Katello
|
|
19
19
|
|
20
20
|
def host_setup_extension
|
21
21
|
if params['host']['lifecycle_environment_id']
|
22
|
-
|
23
|
-
@host.content_facet.lifecycle_environment = new_lce
|
22
|
+
@host.content_facet.assign_single_environment(content_view_id: @host&.content_views&.first&.id, lifecycle_environment_id: params['host']['lifecycle_environment_id'])
|
24
23
|
@host.update_candlepin_associations
|
25
24
|
end
|
26
25
|
|
@@ -35,7 +34,7 @@ module Katello
|
|
35
34
|
|
36
35
|
def smart_proxy
|
37
36
|
@smart_proxy ||= begin
|
38
|
-
proxy = params[:url] ?
|
37
|
+
proxy = params[:url] ? find_smart_proxy : SmartProxy.pulp_primary
|
39
38
|
|
40
39
|
fail Foreman::Exception, _('Smart proxy content source not found!') unless proxy
|
41
40
|
fail Foreman::Exception, _('Pulp 3 is not enabled on Smart proxy!') unless proxy.pulp3_enabled?
|
@@ -43,6 +42,11 @@ module Katello
|
|
43
42
|
proxy
|
44
43
|
end
|
45
44
|
end
|
45
|
+
|
46
|
+
def find_smart_proxy
|
47
|
+
auth_smart_proxy
|
48
|
+
@detected_proxy
|
49
|
+
end
|
46
50
|
end
|
47
51
|
end
|
48
52
|
end
|
@@ -30,6 +30,7 @@ module Katello
|
|
30
30
|
param :ids, Array, :desc => N_("ids to filter content by")
|
31
31
|
param :include_filter_ids, :bool, desc: N_("Includes associated content view filter ids in response")
|
32
32
|
param_group :search, ::Katello::Api::V2::ApiController
|
33
|
+
|
33
34
|
def index
|
34
35
|
sort_by, sort_order, options = sort_options
|
35
36
|
respond(:collection => scoped_search(index_relation, sort_by, sort_order, options))
|
@@ -40,6 +41,7 @@ module Katello
|
|
40
41
|
param :repository_id, :number, :desc => N_("repository identifier")
|
41
42
|
param :organization_id, :number, :desc => N_("organization identifier")
|
42
43
|
param :id, String, :desc => N_(":a_resource identifier"), :required => true
|
44
|
+
|
43
45
|
def show
|
44
46
|
respond :resource => @resource
|
45
47
|
end
|
@@ -47,10 +49,11 @@ module Katello
|
|
47
49
|
api :GET, "/:resource_id/compare/", N_("List :resource")
|
48
50
|
param :content_view_version_ids, Array, :desc => N_("content view versions to compare")
|
49
51
|
param :repository_id, :number, :desc => N_("Library repository id to restrict comparisons to")
|
52
|
+
param :restrict_comparison, String, :desc => N_("Return same, different or all results")
|
53
|
+
|
50
54
|
def compare
|
51
55
|
fail _("No content_view_version_ids provided") if params[:content_view_version_ids].empty?
|
52
56
|
@versions = ContentViewVersion.readable.where(:id => params[:content_view_version_ids])
|
53
|
-
|
54
57
|
if @versions.count != params[:content_view_version_ids].uniq.length
|
55
58
|
missing = params[:content_view_version_ids] - @versions.pluck(:id)
|
56
59
|
fail HttpErrors::NotFound, _("Couldn't find content view versions '%s'") % missing.join(',')
|
@@ -63,9 +66,8 @@ module Katello
|
|
63
66
|
else
|
64
67
|
repos = Katello::Repository.where(:content_view_version_id => @versions.pluck(:id))
|
65
68
|
repos = repos.where(:root_id => @repo.root_id) if @repo
|
66
|
-
collection = filter_by_repos(repos, resource_class.all)
|
69
|
+
collection = filter_by_repos(repos, resource_class.all, @versions, params[:restrict_comparison])
|
67
70
|
end
|
68
|
-
|
69
71
|
collection = scoped_search(collection.distinct, sort_by, sort_order, options)
|
70
72
|
collection[:results] = collection[:results].map { |item| ContentViewVersionComparePresenter.new(item, @versions, @repo) }
|
71
73
|
respond_for_index(:collection => collection)
|
@@ -75,6 +77,7 @@ module Katello
|
|
75
77
|
param :show_all_for, :bool,
|
76
78
|
:desc => N_("Returns content that can be both added and is currently added to the object. The value 'content_view_filter' is supported")
|
77
79
|
param :filterId, :integer, :desc => N_("Content View Filter id"), deprecated: true
|
80
|
+
|
78
81
|
def index_relation
|
79
82
|
if @version && params[:available_for] == "content_view_version" && self.respond_to?(:available_for_content_view_version)
|
80
83
|
collection = self.available_for_content_view_version(@version)
|
@@ -125,8 +128,28 @@ module Katello
|
|
125
128
|
repos
|
126
129
|
end
|
127
130
|
|
128
|
-
def filter_by_repos(repos, collection)
|
129
|
-
collection.in_repositories(repos)
|
131
|
+
def filter_by_repos(repos, collection, content_view_versions = nil, compare = 'all')
|
132
|
+
collection = collection.in_repositories(repos)
|
133
|
+
case compare
|
134
|
+
when 'same'
|
135
|
+
compare_same(collection, content_view_versions)
|
136
|
+
when 'different'
|
137
|
+
collection_all_ids = collection&.pluck(:id)
|
138
|
+
collection_same_ids = compare_same(collection, content_view_versions)&.pluck(:id)
|
139
|
+
collection.where(id: collection_all_ids - collection_same_ids)
|
140
|
+
else
|
141
|
+
collection
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
def compare_same(collection, content_view_versions = nil)
|
146
|
+
cv_version_first = content_view_versions[0]
|
147
|
+
collection_ids = collection.in_repositories(Katello::Repository.where(:content_view_version_id => cv_version_first&.id))&.pluck(:id)
|
148
|
+
content_view_versions[1..-1].each do |version|
|
149
|
+
collection_version_ids = collection.in_repositories(Katello::Repository.where(:content_view_version_id => version&.id))&.pluck(:id)
|
150
|
+
collection_ids = collection_ids.intersection collection_version_ids
|
151
|
+
end
|
152
|
+
return collection.where(id: collection_ids)
|
130
153
|
end
|
131
154
|
|
132
155
|
def filter_by_content_view_version(version, collection)
|
@@ -145,12 +168,12 @@ module Katello
|
|
145
168
|
|
146
169
|
if @resource.blank?
|
147
170
|
fail HttpErrors::NotFound, _("Failed to find %{content} with id '%{id}'.") %
|
148
|
-
{content: resource_name, id: params[:id]}
|
171
|
+
{ content: resource_name, id: params[:id] }
|
149
172
|
end
|
150
173
|
|
151
174
|
if params[:repository_id] && !@resource.repositories.include?(@repo)
|
152
175
|
fail HttpErrors::NotFound, _("Could not find %{content} with id '%{id}' in repository.") %
|
153
|
-
{content: resource_name, id: params[:id]}
|
176
|
+
{ content: resource_name, id: params[:id] }
|
154
177
|
end
|
155
178
|
|
156
179
|
if params[:organization_id] && !@resource.repositories.any? { |repo| repo.organization_id == params[:organization_id].to_i }
|
@@ -174,7 +197,7 @@ module Katello
|
|
174
197
|
@environment = KTEnvironment.readable.find_by(:id => params[:environment_id])
|
175
198
|
if @environment.nil?
|
176
199
|
fail HttpErrors::NotFound, _("Could not find Lifecycle Environment with id '%{id}'.") %
|
177
|
-
{id: params[:environment_id]}
|
200
|
+
{ id: params[:environment_id] }
|
178
201
|
end
|
179
202
|
end
|
180
203
|
end
|
@@ -196,7 +219,7 @@ module Katello
|
|
196
219
|
|
197
220
|
unless @filter
|
198
221
|
fail HttpErrors::NotFound, _("Couldn't find %{type} Filter with id %{id}") %
|
199
|
-
{:type => resource_name, :id => params[:filter_id]}
|
222
|
+
{ :type => resource_name, :id => params[:filter_id] }
|
200
223
|
end
|
201
224
|
end
|
202
225
|
end
|
@@ -209,7 +232,7 @@ module Katello
|
|
209
232
|
|
210
233
|
unless @filter_rule
|
211
234
|
fail HttpErrors::NotFound, _("Couldn't find %{type} Filter with id %{id}") %
|
212
|
-
{:type => resource_name, :id => filter_rule_id}
|
235
|
+
{ :type => resource_name, :id => filter_rule_id }
|
213
236
|
end
|
214
237
|
end
|
215
238
|
end
|
@@ -272,7 +295,7 @@ module Katello
|
|
272
295
|
def check_repo_for_content_resource
|
273
296
|
if params[:repository_id] && !@resource.send(repo_association).include?(@repo.pulp_id)
|
274
297
|
fail HttpErrors::NotFound, _("Could not find %{content} with id '%{id}' in repository.") %
|
275
|
-
{content: resource_name, id: params[:id]}
|
298
|
+
{ content: resource_name, id: params[:id] }
|
276
299
|
end
|
277
300
|
end
|
278
301
|
|
@@ -8,6 +8,7 @@ module Katello
|
|
8
8
|
param :smart_proxy, Hash do
|
9
9
|
param :download_policy, String, :required => false, :desc => N_('Download Policy of the capsule, must be one of %s') %
|
10
10
|
SmartProxy::DOWNLOAD_POLICIES.join(', ')
|
11
|
+
param :http_proxy_id, Integer, :required => false, :desc => N_('Id of the HTTP proxy to use with alternate content sources')
|
11
12
|
end
|
12
13
|
end
|
13
14
|
end
|
@@ -118,7 +118,10 @@ module Katello
|
|
118
118
|
# and also ensure that the environments have the remove permission
|
119
119
|
return deny_access unless KTEnvironment.promotable.where(:id => env_ids).count == env_ids.size && view.promotable_or_removable?
|
120
120
|
|
121
|
-
total_count = Katello::Host::ContentFacet.
|
121
|
+
total_count = Katello::Host::ContentFacet.in_content_views_and_environments(
|
122
|
+
:content_views => [view],
|
123
|
+
:lifecycle_environments => ::Katello::KTEnvironment.where(id: env_ids)
|
124
|
+
).count
|
122
125
|
if total_count > 0
|
123
126
|
unless options[:system_content_view_id] && options[:system_environment_id]
|
124
127
|
fail _("Unable to reassign content hosts. Please provide system_content_view_id and system_environment_id.")
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Katello
|
2
|
+
module Concerns
|
3
|
+
module ContentFacetHostsControllerExtensions
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
included do
|
6
|
+
before_action :set_up_content_view_environment, only: [:update]
|
7
|
+
|
8
|
+
def set_up_content_view_environment
|
9
|
+
return unless params[:host] && params[:host][:content_facet_attributes]
|
10
|
+
cv_id = params[:host][:content_facet_attributes].delete(:content_view_id)
|
11
|
+
env_id = params[:host][:content_facet_attributes].delete(:lifecycle_environment_id)
|
12
|
+
Rails.logger.info "set_up_content_view_environment: cv_id=#{cv_id}, env_id=#{env_id}"
|
13
|
+
if (cv_id.present? && env_id.present?)
|
14
|
+
@host.content_facet.assign_single_environment(
|
15
|
+
lifecycle_environment_id: env_id,
|
16
|
+
content_view_id: cv_id
|
17
|
+
)
|
18
|
+
Rails.logger.info "set_up_content_view_environment: done"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -57,45 +57,47 @@ module Katello
|
|
57
57
|
format.csv do
|
58
58
|
@hosts = resource_base_with_search.where(organization_id: params[:organization_id])
|
59
59
|
.preload(:subscription_facet, :host_statuses, :operatingsystem,
|
60
|
-
:applicable_rpms, :
|
60
|
+
:applicable_rpms, :content_view_environments)
|
61
61
|
csv_response(@hosts,
|
62
62
|
[:name, :subscription_status_label, 'content_facet.installable_security_errata_count',
|
63
63
|
'content_facet.installable_bugfix_errata_count', 'content_facet.installable_enhancement_errata_count',
|
64
|
-
'content_facet.upgradable_rpm_count', :operatingsystem, :
|
64
|
+
'content_facet.upgradable_rpm_count', :operatingsystem, :content_view_environment_names,
|
65
65
|
'subscription_facet.registered_at', 'subscription_facet.last_checkin'],
|
66
66
|
['Name', 'Subscription Status', 'Installable Updates - Security',
|
67
67
|
'Installable Updates - Bug Fixes', 'Installable Updates - Enhancements',
|
68
|
-
'Installable Updates - Package Count', 'OS', '
|
68
|
+
'Installable Updates - Package Count', 'OS', 'Content View Environments',
|
69
69
|
'Registered', 'Last Checkin'])
|
70
70
|
end
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
74
|
def change_content_source_data
|
75
|
-
hosts = ::Host.where(id: params[:host_ids])
|
76
|
-
|
75
|
+
hosts = params[:search].presence ? ::Host.search_for(params[:search]) : ::Host.where(id: params[:host_ids])
|
76
|
+
content_hosts = []
|
77
77
|
hosts_without_content = []
|
78
78
|
|
79
79
|
hosts.each do |host|
|
80
80
|
if host.content_facet
|
81
|
-
|
81
|
+
content_hosts << { id: host.id, name: host.name }
|
82
82
|
else
|
83
|
-
hosts_without_content << host.name
|
83
|
+
hosts_without_content << { id: host.id, name: host.name }
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
-
|
88
|
-
|
87
|
+
content_sources = SmartProxy.authorized(:view_smart_proxies)
|
88
|
+
.with_content
|
89
|
+
.includes([:smart_proxy_features])
|
90
|
+
.joins(:lifecycle_environments)
|
91
|
+
.distinct
|
89
92
|
|
90
93
|
if Katello.with_remote_execution?
|
91
94
|
template_id = JobTemplate.find_by(name: 'Change content source')&.id
|
92
|
-
job_invocation_path = new_job_invocation_path(template_id: template_id, host_ids:
|
95
|
+
job_invocation_path = new_job_invocation_path(template_id: template_id, host_ids: content_hosts.map { |h| h[:id] }) if template_id
|
93
96
|
end
|
94
97
|
|
95
98
|
render json: {
|
96
|
-
|
99
|
+
content_hosts: content_hosts,
|
97
100
|
hosts_without_content: hosts_without_content,
|
98
|
-
environments: environments,
|
99
101
|
content_sources: content_sources,
|
100
102
|
job_invocation_path: job_invocation_path
|
101
103
|
}
|