katello 3.17.0.rc1 → 3.17.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/controllers/katello/api/registry/registry_proxies_controller.rb +5 -3
- data/app/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +1 -1
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +2 -2
- data/app/controllers/katello/api/v2/api_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_credentials_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_uploads_controller.rb +5 -5
- data/app/controllers/katello/api/v2/content_view_repositories_controller.rb +47 -0
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +50 -19
- data/app/controllers/katello/api/v2/gpg_keys_controller.rb +1 -1
- data/app/controllers/katello/api/v2/host_tracer_controller.rb +0 -5
- data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +15 -0
- data/app/controllers/katello/api/v2/repositories_controller.rb +24 -14
- data/app/controllers/katello/api/v2/subscriptions_controller.rb +1 -1
- data/app/controllers/katello/concerns/api/v2/{associations_permission_check.rb → authorization.rb} +20 -2
- data/app/controllers/katello/concerns/hosts_controller_extensions.rb +11 -5
- data/app/helpers/katello/content_view_helper.rb +1 -1
- data/app/lib/actions/candlepin/product/content_add.rb +1 -2
- data/app/lib/actions/katello/capsule_content/refresh_repos.rb +1 -1
- data/app/lib/actions/katello/capsule_content/sync.rb +2 -2
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +17 -3
- data/app/lib/actions/katello/content_view/capsule_sync.rb +1 -1
- data/app/lib/actions/katello/content_view/destroy.rb +2 -2
- data/app/lib/actions/katello/content_view/incremental_updates.rb +1 -1
- data/app/lib/actions/katello/content_view/promote_to_environment.rb +1 -0
- data/app/lib/actions/katello/content_view/publish.rb +12 -7
- data/app/lib/actions/katello/content_view_puppet_environment/clone.rb +1 -1
- data/app/lib/actions/katello/content_view_puppet_environment/create.rb +2 -2
- data/app/lib/actions/katello/content_view_version/incremental_update.rb +4 -4
- data/app/lib/actions/katello/organization/manifest_delete.rb +1 -0
- data/app/lib/actions/katello/organization/manifest_import.rb +1 -0
- data/app/lib/actions/katello/organization/manifest_refresh.rb +1 -0
- data/app/lib/actions/katello/product/content_create.rb +3 -3
- data/app/lib/actions/katello/product/destroy.rb +25 -4
- data/app/lib/actions/katello/repository/clone_contents.rb +3 -3
- data/app/lib/actions/katello/repository/clone_to_environment.rb +2 -2
- data/app/lib/actions/katello/repository/clone_to_version.rb +1 -1
- data/app/lib/actions/katello/repository/create.rb +1 -1
- data/app/lib/actions/katello/repository/destroy.rb +10 -4
- data/app/lib/actions/katello/repository/export.rb +3 -3
- data/app/lib/actions/katello/repository/finish_upload.rb +2 -2
- data/app/lib/actions/katello/repository/import_upload.rb +3 -3
- data/app/lib/actions/katello/repository/metadata_generate.rb +1 -1
- data/app/lib/actions/katello/repository/multi_clone_contents.rb +6 -10
- data/app/lib/actions/katello/repository/purge_empty_content.rb +1 -1
- data/app/lib/actions/katello/repository/remove_content.rb +1 -1
- data/app/lib/actions/katello/repository/sync.rb +35 -25
- data/app/lib/actions/katello/repository/update.rb +30 -19
- data/app/lib/actions/katello/repository/update_http_proxy_details.rb +1 -1
- data/app/lib/actions/katello/repository/update_metadata_sync.rb +1 -1
- data/app/lib/actions/katello/repository/upload_files.rb +2 -2
- data/app/lib/actions/katello/repository/verify_checksum.rb +28 -0
- data/app/lib/actions/pulp/content_view_puppet_environment/copy_contents.rb +1 -1
- data/app/lib/actions/pulp/orchestration/orphan_cleanup/remove_orphans.rb +1 -1
- data/app/lib/actions/pulp/orchestration/repository/sync.rb +2 -1
- data/app/lib/actions/pulp/repository/copy_all_units.rb +1 -1
- data/app/lib/actions/pulp/repository/copy_units.rb +1 -1
- data/app/lib/actions/pulp/repository/create.rb +1 -1
- data/app/lib/actions/pulp/repository/destroy.rb +1 -1
- data/app/lib/actions/pulp/repository/remove_units.rb +2 -2
- data/app/lib/actions/pulp/repository/sync.rb +3 -2
- data/app/lib/actions/pulp3/capsule_content/sync.rb +3 -1
- data/app/lib/actions/pulp3/content_guard/refresh_all_distributions.rb +19 -0
- data/app/lib/actions/pulp3/content_migration.rb +3 -3
- data/app/lib/actions/pulp3/content_view_version/create_exporter.rb +20 -0
- data/app/lib/actions/pulp3/content_view_version/destroy_exporter.rb +16 -0
- data/app/lib/actions/pulp3/content_view_version/export.rb +19 -0
- data/app/lib/actions/pulp3/import_migration.rb +3 -3
- data/app/lib/actions/pulp3/orchestration/content_view_version/export.rb +69 -0
- data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +1 -2
- data/app/lib/actions/pulp3/orchestration/repository/create.rb +1 -1
- data/app/lib/actions/pulp3/orchestration/repository/sync.rb +3 -1
- data/app/lib/actions/pulp3/orchestration/repository/trigger_update_repo_cert_guard.rb +22 -0
- data/app/lib/actions/pulp3/orchestration/repository/upload_content.rb +1 -1
- data/app/lib/actions/pulp3/repository/copy_content.rb +0 -1
- data/app/lib/actions/pulp3/repository/multi_copy_units.rb +2 -2
- data/app/lib/actions/pulp3/repository/presenters/repair_presenter.rb +85 -0
- data/app/lib/actions/pulp3/repository/refresh_distribution.rb +11 -5
- data/app/lib/actions/pulp3/repository/repair.rb +29 -0
- data/app/lib/actions/pulp3/repository/save_artifact.rb +1 -1
- data/app/lib/actions/pulp3/repository/save_distribution_references.rb +2 -2
- data/app/lib/actions/pulp3/repository/save_version.rb +20 -16
- data/app/lib/actions/pulp3/repository/save_versions.rb +1 -1
- data/app/lib/actions/pulp3/repository/sync.rb +1 -1
- data/app/lib/actions/pulp3/repository/update_cv_repository_cert_guard.rb +6 -2
- data/app/lib/actions/pulp3/repository/upload_file.rb +2 -2
- data/app/lib/katello/concerns/base_template_scope_extensions.rb +5 -3
- data/app/lib/katello/concerns/permission_extensions.rb +14 -0
- data/app/lib/katello/foreman.rb +1 -1
- data/app/lib/katello/resources/candlepin/product.rb +0 -11
- data/app/lib/katello/resources/registry.rb +3 -3
- data/app/models/katello/authorization/content_view_version_export_history.rb +11 -0
- data/app/models/katello/authorization/product.rb +4 -0
- data/app/models/katello/authorization/repository.rb +8 -0
- data/app/models/katello/concerns/content_facet_host_extensions.rb +2 -1
- data/app/models/katello/concerns/organization_extensions.rb +6 -1
- data/app/models/katello/concerns/pulp_database_unit.rb +2 -2
- data/app/models/katello/concerns/redhat_extensions.rb +4 -2
- data/app/models/katello/concerns/smart_proxy_extensions.rb +33 -16
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +1 -1
- data/app/models/katello/content_view.rb +1 -1
- data/app/models/katello/content_view_package_filter.rb +1 -1
- data/app/models/katello/content_view_puppet_environment.rb +1 -1
- data/app/models/katello/content_view_version.rb +3 -1
- data/app/models/katello/content_view_version_export_history.rb +22 -0
- data/app/models/katello/docker_meta_tag.rb +1 -1
- data/app/models/katello/errata_status.rb +21 -12
- data/app/models/katello/erratum.rb +1 -1
- data/app/models/katello/glue/candlepin/owner.rb +4 -2
- data/app/models/katello/glue/pulp/repo.rb +3 -1
- data/app/models/katello/host/content_facet.rb +8 -0
- data/app/models/katello/kt_environment.rb +1 -1
- data/app/models/katello/package_group.rb +1 -1
- data/app/models/katello/ping.rb +8 -3
- data/app/models/katello/pulp3/content_guard.rb +1 -1
- data/app/models/katello/purpose_status.rb +2 -2
- data/app/models/katello/repository.rb +23 -15
- data/app/models/katello/rhsm_fact_parser.rb +1 -1
- data/app/models/katello/root_repository.rb +2 -15
- data/app/models/katello/sync_plan.rb +8 -0
- data/app/models/setting/content.rb +3 -1
- data/app/services/cert/certs.rb +10 -2
- data/app/services/katello/candlepin/event_handler.rb +1 -0
- data/app/services/katello/host_status_manager.rb +7 -0
- data/app/services/katello/pulp/content.rb +1 -1
- data/app/services/katello/pulp/repository.rb +7 -7
- data/app/services/katello/pulp/repository/deb.rb +2 -2
- data/app/services/katello/pulp/repository/docker.rb +5 -5
- data/app/services/katello/pulp/repository/file.rb +2 -2
- data/app/services/katello/pulp/repository/ostree.rb +2 -2
- data/app/services/katello/pulp/repository/puppet.rb +2 -2
- data/app/services/katello/pulp/repository/yum.rb +5 -6
- data/app/services/katello/pulp/smart_proxy_repository.rb +1 -1
- data/app/services/katello/pulp3/ansible_collection.rb +2 -2
- data/app/services/katello/pulp3/api/core.rb +16 -0
- data/app/services/katello/pulp3/content.rb +3 -3
- data/app/services/katello/pulp3/content_view_version/export.rb +71 -0
- data/app/services/katello/pulp3/distribution.rb +2 -2
- data/app/services/katello/pulp3/docker_blob.rb +2 -2
- data/app/services/katello/pulp3/docker_manifest.rb +2 -2
- data/app/services/katello/pulp3/docker_manifest_list.rb +2 -2
- data/app/services/katello/pulp3/docker_tag.rb +2 -2
- data/app/services/katello/pulp3/erratum.rb +2 -2
- data/app/services/katello/pulp3/file_unit.rb +2 -2
- data/app/services/katello/pulp3/migration.rb +139 -34
- data/app/services/katello/pulp3/migration_plan.rb +50 -14
- data/app/services/katello/pulp3/migration_switchover.rb +41 -9
- data/app/services/katello/pulp3/module_stream.rb +2 -2
- data/app/services/katello/pulp3/package_group.rb +2 -2
- data/app/services/katello/pulp3/repository.rb +9 -9
- data/app/services/katello/pulp3/repository/docker.rb +18 -10
- data/app/services/katello/pulp3/repository/yum.rb +25 -13
- data/app/services/katello/pulp3/repository_mirror.rb +2 -1
- data/app/services/katello/pulp3/rpm.rb +2 -2
- data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +2 -2
- data/app/services/katello/pulp3/smart_proxy_repository.rb +1 -1
- data/app/services/katello/pulp3/srpm.rb +2 -2
- data/app/services/katello/pulp3/task_group.rb +1 -1
- data/app/services/katello/pulp3/yum_metadata_file.rb +2 -2
- data/app/services/katello/registration_manager.rb +9 -3
- data/app/services/katello/repository_type.rb +1 -1
- data/app/services/katello/smart_proxy_helper.rb +14 -17
- data/app/views/foreman/job_templates/install_errata_-_katello_ansible_default.erb +10 -2
- data/app/views/katello/api/v2/content_view_repositories/show_all.json.rabl +8 -0
- data/app/views/katello/api/v2/content_view_version_export_histories/index.json.rabl +7 -0
- data/app/views/katello/api/v2/content_view_version_export_histories/show.json.rabl +13 -0
- data/app/views/katello/api/v2/package_groups/show.json.rabl +1 -1
- data/app/views/katello/api/v2/packages/show.json.rabl +1 -1
- data/app/views/katello/api/v2/repositories/base.json.rabl +2 -1
- data/app/views/katello/api/v2/srpms/show.json.rabl +1 -1
- data/app/views/katello/api/v2/sync_plans/show.json.rabl +2 -1
- data/config/routes/api/rhsm.rb +1 -0
- data/config/routes/api/v2.rb +8 -1
- data/db/migrate/20200818040551_add_content_view_version_export_history.rb +13 -0
- data/db/migrate/20200818192230_update_system_purpose_status.rb +12 -0
- data/db/migrate/20200820145217_add_download_concurrency_to_katello_root_repositories.rb +5 -0
- data/db/migrate/20200910140340_remove_distribution_uuid.rb +5 -0
- data/db/migrate/20200914200906_remove_auto_enabled.rb +5 -0
- data/engines/bastion/app/assets/javascripts/bastion/bastion.js +1 -0
- data/engines/bastion/app/assets/javascripts/bastion/routing.module.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-ui-router/stateEvents.js +300 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-associations.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-subscriptions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/content-credential-products.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/content-credential-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-host-collections-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-module-streams-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-repository-sets-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-subscriptions-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-traces-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts-helper.service.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs-installed.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-module-streams.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-applicable.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-traces.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-host-collections.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-subscriptions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details-info.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-host-collections.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-subscriptions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-available-content-views.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-content-views-list.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-docker-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-ostree-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-docker-repositories-list.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-ostree-repositories-list.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-versions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-errata-filter.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-package-group-filter.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-names.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-versions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-modules.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-content-views.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment-content.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-content-views.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collections.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +57 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +45 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +42 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +45 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +4 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +11 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/organization-selector.controller.js +5 -14
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/ostree-branch-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/package-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/product-bulk-action.factory.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-sync-plan-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +7 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +0 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +0 -11
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository.factory.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +16 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module-content-views.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-details-info.controller.js +4 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-info.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/sync-plans.controller.js +1 -1
- data/lib/katello/engine.rb +2 -0
- data/lib/katello/permission_creator.rb +14 -9
- data/lib/katello/tasks/clean_published_repo_directories.rake +3 -3
- data/lib/katello/tasks/pulp3_content_switchover.rake +24 -6
- data/lib/katello/tasks/pulp3_migration.rake +4 -2
- data/lib/katello/tasks/pulp3_post_migration_check.rake +2 -2
- data/lib/katello/tasks/reimport.rake +1 -1
- data/lib/katello/tasks/repository.rake +15 -2
- data/lib/katello/tasks/unify_hosts.rake +1 -0
- data/lib/katello/tasks/upgrades/3.11/update_puppet_repos.rake +3 -3
- data/lib/katello/tasks/upgrades/3.12/remove_pulp2_notifier.rake +2 -2
- data/lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake +2 -2
- data/lib/katello/version.rb +1 -1
- data/locale/action_names.rb +47 -47
- data/locale/katello.pot +160 -160
- data/webpack/containers/Application/config.js +4 -4
- data/webpack/redux/actions/RedHatRepositories/helpers.js +1 -1
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +22 -32
- data/webpack/scenes/Subscriptions/Manifest/__tests__/SimpleContentAccess.test.js +0 -14
- data/webpack/scenes/Subscriptions/Manifest/index.js +2 -5
- data/webpack/scenes/Subscriptions/SubscriptionReducer.js +15 -6
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +0 -1
- data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +3 -0
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsReducer.test.js +24 -0
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsReducer.test.js.snap +114 -26
- metadata +67 -33
- data/app/lib/actions/candlepin/product/content_update_enablement.rb +0 -18
- data/app/lib/actions/katello/repository/content_update.rb +0 -41
- data/app/lib/actions/katello/repository/update_cv_repo_cert_guard.rb +0 -17
@@ -28,7 +28,7 @@ angular.module('Bastion.activation-keys').controller('ActivationKeysController',
|
|
28
28
|
|
29
29
|
var nutupane = new Nutupane(ActivationKey, params);
|
30
30
|
$scope.controllerName = 'katello_activation_keys';
|
31
|
-
nutupane.
|
31
|
+
nutupane.primaryOnly = true;
|
32
32
|
$scope.table = nutupane.table;
|
33
33
|
}]
|
34
34
|
);
|
@@ -35,7 +35,7 @@ angular.module('Bastion.activation-keys').controller('ActivationKeyAddSubscripti
|
|
35
35
|
$scope.table = $scope.contentNutupane.table;
|
36
36
|
$scope.isAdding = false;
|
37
37
|
$scope.contentNutupane.setSearchKey('subscriptionSearch');
|
38
|
-
$scope.contentNutupane.
|
38
|
+
$scope.contentNutupane.primaryOnly = true;
|
39
39
|
$scope.contextAdd = true;
|
40
40
|
$scope.groupedSubscriptions = {};
|
41
41
|
$scope.$watch('table.rows', function (rows) {
|
@@ -42,7 +42,7 @@ angular.module('Bastion.activation-keys').controller('ActivationKeyAssociationsC
|
|
42
42
|
return searchQuery;
|
43
43
|
};
|
44
44
|
|
45
|
-
contentHostsNutupane.
|
45
|
+
contentHostsNutupane.primaryOnly = true;
|
46
46
|
contentHostsNutupane.setSearchKey('contentHostSearch');
|
47
47
|
|
48
48
|
$scope.table = contentHostsNutupane.table;
|
@@ -29,7 +29,7 @@ angular.module('Bastion.activation-keys').controller('ActivationKeySubscriptions
|
|
29
29
|
$scope.contentNutupane = new Nutupane(ActivationKey, params, "subscriptions");
|
30
30
|
$scope.controllerName = 'katello_subscriptions';
|
31
31
|
$scope.table = $scope.contentNutupane.table;
|
32
|
-
$scope.contentNutupane.
|
32
|
+
$scope.contentNutupane.primaryOnly = true;
|
33
33
|
$scope.contentNutupane.setSearchKey('subscriptionSearch');
|
34
34
|
$scope.isRemoving = false;
|
35
35
|
$scope.contextAdd = false;
|
@@ -48,7 +48,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkErrataModalC
|
|
48
48
|
nutupane.enableSelectAllResults();
|
49
49
|
|
50
50
|
$scope.controllerName = 'katello_errata';
|
51
|
-
nutupane.
|
51
|
+
nutupane.primaryOnly = true;
|
52
52
|
$scope.showErrata = false;
|
53
53
|
$scope.showHosts = false;
|
54
54
|
$scope.table = nutupane.table;
|
@@ -35,7 +35,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkHostCollecti
|
|
35
35
|
|
36
36
|
nutupane = new Nutupane(HostCollection, nutupaneParams, 'queryPaged');
|
37
37
|
$scope.controllerName = 'katello_host_collections';
|
38
|
-
nutupane.
|
38
|
+
nutupane.primaryOnly = true;
|
39
39
|
|
40
40
|
$scope.table = nutupane.table;
|
41
41
|
$scope.confirmHostCollectionAction = function (action) {
|
@@ -31,7 +31,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkModuleStream
|
|
31
31
|
|
32
32
|
$scope.moduleStreamsNutupane = new Nutupane(HostBulkAction, hostIds, 'moduleStreams');
|
33
33
|
$scope.controllerName = 'katello_module_streams';
|
34
|
-
$scope.moduleStreamsNutupane.
|
34
|
+
$scope.moduleStreamsNutupane.primaryOnly = true;
|
35
35
|
$scope.table = $scope.moduleStreamsNutupane.table;
|
36
36
|
$scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
|
37
37
|
$scope.remoteExecutionByDefault = BastionConfig.remoteExecutionByDefault;
|
@@ -36,7 +36,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkRepositorySe
|
|
36
36
|
nutupane = new Nutupane(RepositorySet, nutupaneParams,
|
37
37
|
'queryPaged', {disableAutoLoad: true});
|
38
38
|
$scope.controllerName = 'katello_repository_sets';
|
39
|
-
nutupane.
|
39
|
+
nutupane.primaryOnly = true;
|
40
40
|
nutupane.setSearchKey('repoSetsSearch');
|
41
41
|
nutupane.load();
|
42
42
|
|
@@ -51,7 +51,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkSubscription
|
|
51
51
|
$scope.controllerName = 'katello_subscriptions';
|
52
52
|
$scope.table = $scope.contentNutupane.table;
|
53
53
|
$scope.contentNutupane.setSearchKey('subscriptionSearch');
|
54
|
-
$scope.contentNutupane.
|
54
|
+
$scope.contentNutupane.primaryOnly = true;
|
55
55
|
$scope.contentNutupane.load();
|
56
56
|
$scope.groupedSubscriptions = {};
|
57
57
|
$scope.simpleContentAccessEnabled = simpleContentAccessEnabled;
|
@@ -23,7 +23,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkTracesContro
|
|
23
23
|
|
24
24
|
var tracesNutupane = new Nutupane(HostBulkAction, hostIds, 'traces');
|
25
25
|
tracesNutupane.enableSelectAllResults();
|
26
|
-
tracesNutupane.
|
26
|
+
tracesNutupane.primaryOnly = true;
|
27
27
|
$scope.table = tracesNutupane.table;
|
28
28
|
$scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
|
29
29
|
|
@@ -41,7 +41,7 @@ angular.module('Bastion.content-hosts').service('ContentHostsHelper',
|
|
41
41
|
this.getHostPurposeStatusIcon = function (statusCode) {
|
42
42
|
var code = parseInt(statusCode);
|
43
43
|
|
44
|
-
if (code ===
|
44
|
+
if (code === 2) { // matched
|
45
45
|
return 'pficon pficon-ok';
|
46
46
|
} else if (code === 1) { // mismatched
|
47
47
|
return 'pficon pficon-warning-triangle-o';
|
@@ -44,7 +44,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostsController',
|
|
44
44
|
|
45
45
|
nutupane = new Nutupane(Host, params);
|
46
46
|
$scope.controllerName = 'hosts';
|
47
|
-
nutupane.
|
47
|
+
nutupane.primaryOnly = true;
|
48
48
|
|
49
49
|
$scope.table = nutupane.table;
|
50
50
|
$scope.nutupane = nutupane;
|
@@ -70,7 +70,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostDebsInstalledCont
|
|
70
70
|
};
|
71
71
|
|
72
72
|
debsNutupane = new Nutupane(HostDeb, {id: $scope.$stateParams.hostId});
|
73
|
-
debsNutupane.
|
73
|
+
debsNutupane.primaryOnly = true;
|
74
74
|
$scope.table = debsNutupane.table;
|
75
75
|
$scope.table.contentHost = $scope.contentHost;
|
76
76
|
}
|
@@ -30,7 +30,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostErrataController'
|
|
30
30
|
|
31
31
|
$scope.nutupane = new Nutupane(HostErratum, params, 'get');
|
32
32
|
$scope.controllerName = 'katello_errata';
|
33
|
-
$scope.nutupane.
|
33
|
+
$scope.nutupane.primaryOnly = true;
|
34
34
|
$scope.table = $scope.nutupane.table;
|
35
35
|
$scope.table.errataFilterTerm = "";
|
36
36
|
|
@@ -24,7 +24,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostModuleStreamsCont
|
|
24
24
|
|
25
25
|
$scope.moduleStreamsNutupane = new Nutupane(HostModuleStream, $scope.nutupaneParams);
|
26
26
|
|
27
|
-
$scope.moduleStreamsNutupane.
|
27
|
+
$scope.moduleStreamsNutupane.primaryOnly = true;
|
28
28
|
$scope.table = $scope.moduleStreamsNutupane.table;
|
29
29
|
|
30
30
|
$scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
|
@@ -44,7 +44,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostPackagesApplicabl
|
|
44
44
|
|
45
45
|
packagesNutupane = new Nutupane(Package, {'host_id': $scope.$stateParams.hostId, 'packages_restrict_upgradable': true});
|
46
46
|
$scope.controllerName = 'katello_erratum_packages';
|
47
|
-
packagesNutupane.
|
47
|
+
packagesNutupane.primaryOnly = true;
|
48
48
|
$scope.table = packagesNutupane.table;
|
49
49
|
$scope.table.openEventInfo = openEventInfo;
|
50
50
|
$scope.table.contentHost = $scope.contentHost;
|
@@ -27,7 +27,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostPackagesInstalled
|
|
27
27
|
};
|
28
28
|
|
29
29
|
packagesNutupane = new Nutupane(HostPackage, {id: $scope.$stateParams.hostId});
|
30
|
-
packagesNutupane.
|
30
|
+
packagesNutupane.primaryOnly = true;
|
31
31
|
$scope.table = packagesNutupane.table;
|
32
32
|
$scope.table.contentHost = $scope.contentHost;
|
33
33
|
}
|
@@ -22,7 +22,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostTracesController'
|
|
22
22
|
};
|
23
23
|
|
24
24
|
tracesNutupane = new Nutupane(HostTraces, params, 'get', {'disableAutoLoad': true});
|
25
|
-
tracesNutupane.
|
25
|
+
tracesNutupane.primaryOnly = true;
|
26
26
|
$scope.table = tracesNutupane.table;
|
27
27
|
$scope.table.tracesFilterTerm = "";
|
28
28
|
$scope.table.tracesCompare = function (item) {
|
@@ -32,7 +32,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostAddHostCollection
|
|
32
32
|
|
33
33
|
nutupane = new Nutupane(HostCollection, params);
|
34
34
|
$scope.controllerName = 'katello_host_collections';
|
35
|
-
nutupane.
|
35
|
+
nutupane.primaryOnly = true;
|
36
36
|
|
37
37
|
$scope.table = nutupane.table;
|
38
38
|
|
@@ -29,7 +29,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostAddSubscriptionsC
|
|
29
29
|
$scope.nutupane = new Nutupane(Subscription, params);
|
30
30
|
$scope.controllerName = 'katello_subscriptions';
|
31
31
|
$scope.nutupane.setSearchKey('subscriptionSearch');
|
32
|
-
$scope.nutupane.
|
32
|
+
$scope.nutupane.primaryOnly = true;
|
33
33
|
$scope.table = $scope.nutupane.table;
|
34
34
|
$scope.contextAdd = true;
|
35
35
|
$scope.isAdding = false;
|
@@ -10,13 +10,14 @@
|
|
10
10
|
* @requires Organization
|
11
11
|
* @requires CurrentOrganization
|
12
12
|
* @requires CurrentHostsHelper
|
13
|
+
* @requires simpleContentAccessEnabled
|
13
14
|
*
|
14
15
|
* @description
|
15
16
|
* Provides the functionality for the content host details action pane.
|
16
17
|
*/
|
17
18
|
angular.module('Bastion.content-hosts').controller('ContentHostDetailsInfoController',
|
18
|
-
['$scope', '$q', 'translate', 'HostSubscription', 'ContentView', 'Organization', 'CurrentOrganization', 'ContentHostsHelper',
|
19
|
-
function ($scope, $q, translate, HostSubscription, ContentView, Organization, CurrentOrganization, ContentHostsHelper) {
|
19
|
+
['$scope', '$q', 'translate', 'HostSubscription', 'ContentView', 'Organization', 'CurrentOrganization', 'ContentHostsHelper', 'simpleContentAccessEnabled',
|
20
|
+
function ($scope, $q, translate, HostSubscription, ContentView, Organization, CurrentOrganization, ContentHostsHelper, simpleContentAccessEnabled) {
|
20
21
|
function doubleColonNotationToObject(dotString) {
|
21
22
|
var doubleColonObject = {}, tempObject, parts, part, key, property;
|
22
23
|
for (property in dotString) {
|
@@ -45,6 +46,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostDetailsInfoContro
|
|
45
46
|
$scope.showCVAlert = false;
|
46
47
|
$scope.editContentView = false;
|
47
48
|
$scope.disableEnvironmentSelection = false;
|
49
|
+
$scope.simpleContentAccessEnabled = simpleContentAccessEnabled;
|
48
50
|
$scope.environments = [];
|
49
51
|
|
50
52
|
$scope.environments = Organization.readableEnvironments({id: CurrentOrganization});
|
@@ -31,7 +31,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostHostCollectionsCo
|
|
31
31
|
|
32
32
|
nutupane = new Nutupane(HostCollection, params);
|
33
33
|
$scope.controllerName = 'katello_host_collections';
|
34
|
-
nutupane.
|
34
|
+
nutupane.primaryOnly = true;
|
35
35
|
|
36
36
|
$scope.table = nutupane.table;
|
37
37
|
|
@@ -28,7 +28,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostSubscriptionsCont
|
|
28
28
|
$scope.controllerName = 'katello_subscriptions';
|
29
29
|
$scope.nutupane.table.initialLoad = false;
|
30
30
|
$scope.table = $scope.nutupane.table;
|
31
|
-
$scope.nutupane.
|
31
|
+
$scope.nutupane.primaryOnly = true;
|
32
32
|
$scope.isRemoving = false;
|
33
33
|
$scope.contextAdd = false;
|
34
34
|
$scope.simpleContentAccessEnabled = simpleContentAccessEnabled;
|
@@ -118,8 +118,8 @@
|
|
118
118
|
<div style="display: inline-block"><i class="pficon-info" title="{{ 'System Purpose allows you to set the system\'s intended use on your network and improves the accuracy of auto attaching subscriptions.' | translate }}"></i></div>
|
119
119
|
|
120
120
|
<dl class="dl-horizontal dl-horizontal-left">
|
121
|
-
<dt translate>System Purpose Status</dt>
|
122
|
-
<dd>
|
121
|
+
<dt translate ng-hide="simpleContentAccessEnabled">System Purpose Status</dt>
|
122
|
+
<dd ng-hide="simpleContentAccessEnabled">
|
123
123
|
<i ng-class="getHostPurposeStatusIcon(host.purpose_status)"></i>
|
124
124
|
{{ host.purpose_status_label }}
|
125
125
|
</dd>
|
@@ -22,7 +22,7 @@ angular.module('Bastion.content-views').controller('ContentViewsController',
|
|
22
22
|
'sort_by': 'name',
|
23
23
|
'sort_order': 'ASC'
|
24
24
|
});
|
25
|
-
nutupane.
|
25
|
+
nutupane.primaryOnly = true;
|
26
26
|
$scope.controllerName = 'katello_content_views';
|
27
27
|
|
28
28
|
$scope.table = nutupane.table;
|
@@ -29,7 +29,7 @@ angular.module('Bastion.content-views').controller('ContentViewCompositeAvailabl
|
|
29
29
|
|
30
30
|
nutupane = new Nutupane(ContentView, params, undefined, nutupaneParams);
|
31
31
|
$scope.controllerName = 'katello_content_views';
|
32
|
-
nutupane.
|
32
|
+
nutupane.primaryOnly = true;
|
33
33
|
$scope.table = nutupane.table;
|
34
34
|
|
35
35
|
$scope.contentView.$promise.then(function (contentView) {
|
@@ -22,7 +22,7 @@ angular.module('Bastion.content-views').controller('ContentViewCompositeContentV
|
|
22
22
|
}, 'contentViewComponents');
|
23
23
|
$scope.controllerName = 'katello_content_views';
|
24
24
|
|
25
|
-
nutupane.
|
25
|
+
nutupane.primaryOnly = true;
|
26
26
|
$scope.table = nutupane.table;
|
27
27
|
|
28
28
|
$scope.saveContentViewComponent = function (contentViewComponent) {
|
@@ -31,7 +31,7 @@ angular.module('Bastion.content-views').controller('ContentViewAvailableDockerRe
|
|
31
31
|
'queryPaged', nutupaneParams);
|
32
32
|
$scope.controllerName = 'katello_repositories';
|
33
33
|
|
34
|
-
nutupane.
|
34
|
+
nutupane.primaryOnly = true;
|
35
35
|
nutupane.load();
|
36
36
|
$scope.table = nutupane.table;
|
37
37
|
|
@@ -30,7 +30,7 @@ angular.module('Bastion.content-views').controller('ContentViewAvailableOstreeRe
|
|
30
30
|
'queryPaged', nutupaneParams);
|
31
31
|
$scope.controllerName = 'katello_repositories';
|
32
32
|
|
33
|
-
nutupane.
|
33
|
+
nutupane.primaryOnly = true;
|
34
34
|
nutupane.load();
|
35
35
|
|
36
36
|
$scope.table = nutupane.table;
|
@@ -231,7 +231,7 @@ angular.module('Bastion.content-views').controller('ContentViewVersionsControlle
|
|
231
231
|
nutupane = new Nutupane(ContentViewVersion, {'content_view_id': $scope.$stateParams.contentViewId}, undefined, nutupaneParams);
|
232
232
|
$scope.controllerName = 'katello_content_views';
|
233
233
|
nutupane.setSearchKey('contentViewVersionSearch');
|
234
|
-
nutupane.
|
234
|
+
nutupane.primaryOnly = true;
|
235
235
|
$scope.table = nutupane.table;
|
236
236
|
|
237
237
|
$scope.pendingVersionTask = false;
|
@@ -100,7 +100,7 @@ angular.module('Bastion.content-views').controller('AvailableErrataFilterControl
|
|
100
100
|
'queryUnpaged'
|
101
101
|
);
|
102
102
|
$scope.controllerName = 'katello_erratum_packages';
|
103
|
-
nutupane.
|
103
|
+
nutupane.primaryOnly = true;
|
104
104
|
|
105
105
|
filterByDate = function (date, type) {
|
106
106
|
date = date.toISOString().split('T')[0];
|
@@ -50,7 +50,7 @@ angular.module('Bastion.content-views').controller('AvailablePackageGroupFilterC
|
|
50
50
|
}
|
51
51
|
|
52
52
|
$scope.table = nutupane.table;
|
53
|
-
nutupane.
|
53
|
+
nutupane.primaryOnly = true;
|
54
54
|
nutupane.table.closeItem = function () {};
|
55
55
|
|
56
56
|
$scope.addPackageGroups = function (filter) {
|
@@ -19,7 +19,7 @@ angular.module('Bastion.content-views').controller('ContentViewPuppetModuleNames
|
|
19
19
|
'availablePuppetModuleNames'
|
20
20
|
);
|
21
21
|
$scope.controllerName = 'katello_content_views';
|
22
|
-
nutupane.
|
22
|
+
nutupane.primaryOnly = true;
|
23
23
|
$scope.table = nutupane.table;
|
24
24
|
|
25
25
|
$scope.table.fetchAutocomplete = function (term) {
|
@@ -25,7 +25,7 @@ angular.module('Bastion.content-views').controller('ContentViewPuppetModuleVersi
|
|
25
25
|
|
26
26
|
nutupane = new Nutupane(ContentView, params, 'availablePuppetModules');
|
27
27
|
$scope.controllerName = 'katello_content_views';
|
28
|
-
nutupane.
|
28
|
+
nutupane.primaryOnly = true;
|
29
29
|
$scope.table = nutupane.table;
|
30
30
|
|
31
31
|
$scope.selectVersion = function (module) {
|
@@ -108,7 +108,7 @@
|
|
108
108
|
params = contentTypes[currentState].params || {'content_view_version_id': $scope.$stateParams.versionId};
|
109
109
|
|
110
110
|
nutupane = new Nutupane(contentTypes[currentState].type, params, 'queryPaged', { 'disableAutoLoad': true });
|
111
|
-
nutupane.
|
111
|
+
nutupane.primaryOnly = true;
|
112
112
|
|
113
113
|
$scope.nutupane = nutupane;
|
114
114
|
$scope.table = nutupane.table;
|
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
contentViewsNutupane = new Nutupane(ContentViewVersion, params);
|
18
18
|
$scope.controllerName = 'katello_content_views';
|
19
|
-
contentViewsNutupane.
|
19
|
+
contentViewsNutupane.primaryOnly = true;
|
20
20
|
contentViewsNutupane.setSearchKey('contentViewsSearch');
|
21
21
|
|
22
22
|
$scope.table = contentViewsNutupane.table;
|
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
repositoriesNutupane = new Nutupane(Repository, params);
|
18
18
|
$scope.controllerName = 'katello_repositories';
|
19
|
-
repositoriesNutupane.
|
19
|
+
repositoriesNutupane.primaryOnly = true;
|
20
20
|
repositoriesNutupane.setSearchKey('repositoriesSearch');
|
21
21
|
|
22
22
|
$scope.table = repositoriesNutupane.table;
|