katello 4.13.0 → 4.14.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/katello/hosts/host_and_hostgroup_edit.js +12 -8
- data/app/assets/javascripts/katello/locale/bn/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/ca/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/cs/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +275 -23
- data/app/assets/javascripts/katello/locale/de/katello.js +280 -28
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/el/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/en/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/en_US/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/es/katello.js +276 -24
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/fr/katello.js +283 -31
- data/app/assets/javascripts/katello/locale/gl/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/gu/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/hi/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/id/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/it/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/ja/katello.js +283 -31
- data/app/assets/javascripts/katello/locale/ka/katello.js +280 -28
- data/app/assets/javascripts/katello/locale/kn/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/ko/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/mr/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/or/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/pa/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/pl/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/pt/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +276 -24
- data/app/assets/javascripts/katello/locale/ro/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/ru/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/sl/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/ta/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/te/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/tr/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/vi/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/zh/katello.js +274 -22
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +283 -31
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +274 -22
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +118 -74
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +15 -2
- data/app/controllers/katello/api/v2/activation_keys_controller.rb +1 -1
- data/app/controllers/katello/api/v2/api_controller.rb +7 -0
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +4 -4
- data/app/controllers/katello/api/v2/debs_controller.rb +3 -2
- data/app/controllers/katello/api/v2/environments_controller.rb +2 -4
- data/app/controllers/katello/api/v2/host_contents_controller.rb +8 -3
- data/app/controllers/katello/api/v2/host_errata_controller.rb +4 -4
- data/app/controllers/katello/api/v2/host_packages_controller.rb +2 -2
- data/app/controllers/katello/api/v2/organizations_controller.rb +1 -1
- data/app/controllers/katello/api/v2/packages_controller.rb +13 -3
- data/app/controllers/katello/api/v2/repositories_bulk_actions_controller.rb +6 -2
- data/app/controllers/katello/api/v2/repositories_controller.rb +3 -4
- data/app/controllers/katello/api/v2/repository_sets_controller.rb +13 -14
- data/app/controllers/katello/api/v2/subscriptions_controller.rb +15 -9
- data/app/controllers/katello/api/v2/sync_controller.rb +2 -2
- data/app/controllers/katello/application_controller.rb +1 -1
- data/app/controllers/katello/concerns/api/v2/authorization.rb +3 -2
- data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +28 -0
- data/app/controllers/katello/concerns/api/v2/registration_commands_controller_extensions.rb +1 -1
- data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +4 -3
- data/app/controllers/katello/concerns/hosts_controller_extensions.rb +2 -4
- data/app/controllers/katello/remote_execution_controller.rb +53 -58
- data/app/helpers/katello/hosts_and_hostgroups_helper.rb +19 -2
- data/app/helpers/katello/katello_urls_helper.rb +1 -1
- data/app/lib/actions/katello/alternate_content_source/alternate_content_source_common.rb +1 -1
- data/app/lib/actions/katello/alternate_content_source/update.rb +2 -1
- data/app/lib/actions/katello/capsule_content/verify_checksum.rb +1 -2
- data/app/lib/actions/katello/content_view/publish.rb +1 -0
- data/app/lib/actions/katello/content_view_version/create_repos.rb +1 -0
- data/app/lib/actions/katello/content_view_version/incremental_update.rb +3 -2
- data/app/lib/actions/katello/environment/{publish_repositories.rb → publish_container_repositories.rb} +10 -8
- data/app/lib/actions/katello/foreman/content_update.rb +4 -6
- data/app/lib/actions/katello/host/hypervisors_update.rb +6 -4
- data/app/lib/actions/katello/repository/create.rb +4 -4
- data/app/lib/actions/katello/repository/discover.rb +11 -4
- data/app/lib/actions/katello/repository/import_upload.rb +4 -6
- data/app/lib/actions/katello/repository/metadata_generate.rb +1 -0
- data/app/lib/actions/katello/repository/update.rb +3 -3
- data/app/lib/actions/katello/repository_set/enable_repository.rb +5 -6
- data/app/lib/actions/middleware/backend_services_check.rb +3 -2
- data/app/lib/actions/pulp3/abstract_async_task.rb +2 -4
- data/app/lib/actions/pulp3/capsule_content/verify_checksum.rb +1 -2
- data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +5 -1
- data/app/lib/actions/pulp3/orchestration/repository/delete.rb +5 -2
- data/app/lib/actions/pulp3/repository/create_publication.rb +4 -0
- data/app/lib/actions/pulp3/repository/save_version.rb +3 -5
- data/app/lib/katello/concerns/base_template_scope_extensions.rb +5 -9
- data/app/lib/katello/errors.rb +1 -0
- data/app/lib/katello/http_resource.rb +1 -0
- data/app/lib/katello/lazy_accessor.rb +1 -1
- data/app/lib/katello/repo_discovery.rb +4 -190
- data/app/lib/katello/resources/candlepin/candlepin_ping.rb +0 -5
- data/app/lib/katello/resources/candlepin/owner.rb +1 -1
- data/app/lib/katello/resources/candlepin/pool.rb +1 -2
- data/app/lib/katello/resources/candlepin/upstream_job.rb +1 -1
- data/app/lib/katello/resources/cdn.rb +3 -2
- data/app/lib/katello/resources/discovery/container.rb +127 -0
- data/app/lib/katello/resources/discovery/yum.rb +95 -0
- data/app/lib/katello/util/cdn_var_substitutor.rb +5 -3
- data/app/lib/katello/util/data.rb +3 -2
- data/app/lib/katello/util/errata.rb +4 -3
- data/app/lib/katello/util/package.rb +3 -3
- data/app/lib/katello/util/path_with_substitutions.rb +1 -1
- data/app/lib/katello/util/report_table.rb +3 -2
- data/app/lib/katello/util/url_matcher.rb +1 -1
- data/app/lib/katello/validators/alternate_content_source_path_validator.rb +4 -3
- data/app/lib/katello/validators/alternate_content_source_products_validator.rb +5 -7
- data/app/lib/katello/validators/container_image_name_validator.rb +1 -1
- data/app/lib/katello/validators/katello_name_format_validator.rb +2 -2
- data/app/lib/katello/validators/no_trailing_space_validator.rb +2 -2
- data/app/lib/katello/validators/prior_validator.rb +2 -2
- data/app/lib/katello/validators/product_unique_attribute_validator.rb +2 -4
- data/app/models/katello/activation_key.rb +4 -6
- data/app/models/katello/alternate_content_source.rb +1 -1
- data/app/models/katello/authorization/host_tracer.rb +1 -2
- data/app/models/katello/candlepin/repository_mapper.rb +2 -2
- data/app/models/katello/concerns/host_managed_extensions.rb +41 -10
- data/app/models/katello/concerns/hostgroup_extensions.rb +2 -4
- data/app/models/katello/concerns/location_extensions.rb +2 -4
- data/app/models/katello/concerns/operatingsystem_extensions.rb +84 -16
- data/app/models/katello/concerns/smart_proxy_extensions.rb +4 -4
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +2 -0
- data/app/models/katello/content_view.rb +5 -1
- data/app/models/katello/content_view_environment.rb +19 -4
- data/app/models/katello/content_view_environment_content_facet.rb +11 -0
- data/app/models/katello/erratum.rb +1 -1
- data/app/models/katello/event.rb +1 -1
- data/app/models/katello/glue/provider.rb +1 -2
- data/app/models/katello/hash_util.rb +1 -1
- data/app/models/katello/host/content_facet.rb +16 -3
- data/app/models/katello/host/subscription_facet.rb +27 -4
- data/app/models/katello/host_collection.rb +12 -8
- data/app/models/katello/pool.rb +5 -1
- data/app/models/katello/product.rb +7 -4
- data/app/models/katello/provider.rb +1 -2
- data/app/models/katello/repository.rb +18 -4
- data/app/models/katello/root_repository.rb +29 -0
- data/app/models/katello/rpm.rb +2 -2
- data/app/models/katello/subscription_facet_pool.rb +1 -1
- data/app/models/katello/sync_plan.rb +5 -4
- data/app/models/katello/task_status.rb +18 -18
- data/app/presenters/katello/product_host_count_presenter.rb +10 -0
- data/app/services/katello/candlepin/consumer.rb +11 -11
- data/app/services/katello/candlepin/message_handler.rb +3 -2
- data/app/services/katello/content_unit_indexer.rb +6 -0
- data/app/services/katello/pulp3/alternate_content_source.rb +1 -3
- data/app/services/katello/pulp3/api/core.rb +1 -1
- data/app/services/katello/pulp3/api/docker.rb +10 -0
- data/app/services/katello/pulp3/content_view_version/export.rb +1 -0
- data/app/services/katello/pulp3/content_view_version/import.rb +6 -4
- data/app/services/katello/pulp3/content_view_version/importable_products.rb +1 -3
- data/app/services/katello/pulp3/repository/apt.rb +4 -16
- data/app/services/katello/pulp3/repository/yum.rb +9 -5
- data/app/services/katello/pulp3/repository.rb +2 -2
- data/app/services/katello/pulp3/repository_mirror.rb +2 -9
- data/app/services/katello/pulp3/task.rb +4 -2
- data/app/services/katello/registration_manager.rb +13 -3
- data/app/services/katello/repository_type.rb +1 -1
- data/app/services/katello/smart_proxy_helper.rb +1 -0
- data/app/views/dashboard/_host_collection_widget.html.erb +5 -4
- data/app/views/foreman/job_templates/install_errata.erb +2 -0
- data/app/views/foreman/job_templates/install_errata_-_katello_ansible_default.erb +2 -0
- data/app/views/foreman/job_templates/install_errata_by_search_query.erb +2 -0
- data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +3 -1
- data/app/views/foreman/job_templates/install_packages_by_search_query_-_katello_ansible_default.erb +1 -1
- data/app/views/foreman/job_templates/remove_packages_by_search_query_-_katello_ansible_default.erb +2 -2
- data/app/views/foreman/job_templates/resolve_traces.erb +5 -1
- data/app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb +1 -1
- data/app/views/foreman/job_templates/upload_profile.erb +2 -0
- data/app/views/foreman/smart_proxies/_reclaim_space.html.erb +7 -5
- data/app/views/katello/api/v2/content_facet/base.json.rabl +18 -2
- data/app/views/katello/api/v2/packages/thindex.json.rabl +6 -0
- data/app/views/katello/api/v2/repositories/show.json.rabl +8 -8
- data/app/views/katello/api/v2/repository_sets/show.json.rabl +1 -1
- data/app/views/katello/api/v2/subscription_facet/base.json.rabl +1 -1
- data/app/views/katello/api/v2/subscriptions/index.json.rabl +1 -0
- data/app/views/katello/api/v2/subscriptions/show.json.rabl +1 -0
- data/app/views/overrides/activation_keys/_host_environment_select.html.erb +14 -11
- data/app/views/overrides/activation_keys/_host_synced_content_select.html.erb +4 -4
- data/config/initializers/monkeys.rb +0 -1
- data/config/routes/api/v2.rb +3 -1
- data/config/routes.rb +1 -3
- data/db/migrate/20160114200145_add_mirror_on_sync_to_repositories.rb +1 -0
- data/db/migrate/20160131182301_add_download_policy_to_katello_repositories.rb +1 -0
- data/db/migrate/20210119162528_delete_puppet_and_ostree_repos.rb +3 -0
- data/db/migrate/20240522165308_add_priority_to_content_view_environment_content_facet.rb +5 -0
- data/db/migrate/20240621121212_katello_repository_debs_id_bigint.rb +6 -0
- data/db/migrate/20240729192228_add_convert2rhel_to_host_facets.rb +9 -0
- data/db/seeds.d/102-organizations.rb +5 -7
- data/db/seeds.d/150-module_job_templates.rb +7 -9
- data/db/seeds.d/75-job_templates.rb +9 -16
- data/engines/bastion_katello/README.md +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-info.html +6 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-content-hosts.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +4 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package-info.html +6 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +31 -27
- data/engines/bastion_katello/lib/bastion_katello/engine.rb +2 -2
- data/lib/katello/engine.rb +1 -8
- data/lib/katello/permission_creator.rb +3 -2
- data/lib/katello/plugin.rb +31 -27
- data/lib/katello/repository_types/docker.rb +1 -0
- data/lib/katello/repository_types/yum.rb +1 -0
- data/lib/katello/tasks/clean_old_file_repos.rake +2 -4
- data/lib/katello/tasks/reset.rake +3 -4
- data/lib/katello/version.rb +1 -1
- data/lib/katello.rb +0 -4
- data/lib/monkeys/ar_postgres_evr_t.rb +2 -0
- data/locale/action_names.rb +1 -1
- data/locale/bn/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn/katello.po +274 -22
- data/locale/bn_IN/katello.po +274 -22
- data/locale/ca/katello.po +274 -22
- data/locale/cs/katello.po +274 -22
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +275 -23
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +280 -28
- data/locale/de_AT/katello.po +274 -22
- data/locale/de_DE/katello.po +274 -22
- data/locale/el/katello.po +274 -22
- data/locale/en/katello.po +274 -22
- data/locale/en_GB/katello.po +274 -22
- data/locale/en_US/katello.po +274 -22
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +276 -24
- data/locale/et_EE/katello.po +274 -22
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +283 -31
- data/locale/gl/katello.po +274 -22
- data/locale/gu/katello.po +274 -22
- data/locale/he_IL/katello.po +274 -22
- data/locale/hi/katello.po +274 -22
- data/locale/id/katello.po +274 -22
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +274 -22
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +283 -31
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/katello.po +280 -28
- data/locale/katello.pot +1001 -527
- data/locale/kn/katello.po +274 -22
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +274 -22
- data/locale/ml_IN/katello.po +274 -22
- data/locale/mr/katello.po +274 -22
- data/locale/nl_NL/katello.po +274 -22
- data/locale/or/katello.po +274 -22
- data/locale/pa/katello.po +274 -22
- data/locale/pl/katello.po +274 -22
- data/locale/pl_PL/katello.po +274 -22
- data/locale/pt/katello.po +274 -22
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +276 -24
- data/locale/ro/katello.po +274 -22
- data/locale/ro_RO/katello.po +274 -22
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +274 -22
- data/locale/sl/katello.po +274 -22
- data/locale/sv_SE/katello.po +274 -22
- data/locale/ta/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta/katello.po +274 -22
- data/locale/ta_IN/katello.po +274 -22
- data/locale/te/katello.po +274 -22
- data/locale/tr/katello.po +274 -22
- data/locale/vi/katello.po +274 -22
- data/locale/vi_VN/katello.po +274 -22
- data/locale/zh/katello.po +274 -22
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +283 -31
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +274 -22
- data/webpack/ForemanColumnExtensions/index.js +44 -1
- data/webpack/components/Table/TableWrapper.js +6 -0
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ChangeHostCVModal.js +24 -3
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ContentViewDetailsCard.js +124 -56
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/HostContentViewActions.js +2 -3
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/contentViewDetailsCard.test.js +44 -10
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionActions.js +75 -31
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionConstants.js +1 -0
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionHooks.js +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/customizedRexUrlHelpers.js +22 -7
- data/webpack/components/extensions/Hosts/ActionsBar/ActionsBar.scss +14 -0
- data/webpack/components/extensions/Hosts/ActionsBar/index.js +82 -23
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCVModal/index.js +5 -2
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/02_BulkErrataTable.js +171 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_Review.js +160 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_ReviewFooter.js +99 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/BulkErrataWizard.js +157 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/index.js +24 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/02_BulkPackagesTable.js +157 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_Review.js +168 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_ReviewFooter.js +141 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js +252 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/index.js +24 -0
- data/webpack/components/extensions/Hosts/BulkActions/HostReview.js +176 -0
- data/webpack/components/extensions/Hosts/TableRowActions/index.js +17 -0
- data/webpack/global_index.js +11 -3
- data/webpack/redux/actions/RedHatRepositories/repositorySetRepositories.js +5 -6
- data/webpack/redux/reducers/RedHatRepositories/__tests__/repositorySetRepositories.test.js +1 -1
- data/webpack/redux/reducers/RedHatRepositories/repositorySetRepositories.js +1 -1
- data/webpack/scenes/ContentViews/Copy/CopyContentViewModal.js +2 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewAddModal.js +2 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewBulkAddModal.js +2 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +2 -1
- data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +2 -1
- data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +2 -2
- data/webpack/scenes/ContentViews/Publish/CVPublishForm.js +2 -1
- data/webpack/scenes/ContentViews/Publish/CVPublishReview.js +3 -2
- data/webpack/scenes/ContentViews/Publish/PublishContentViewWizard.js +2 -1
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +2 -1
- data/webpack/scenes/ContentViews/components/CVBreadCrumb.js +2 -1
- data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelectOption.js +2 -2
- data/webpack/scenes/Subscriptions/Details/SubscriptionAttributes.js +1 -0
- data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailInfo.test.js.snap +10 -0
- data/webpack/scenes/Subscriptions/SubscriptionConstants.js +6 -0
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +2 -0
- data/webpack/scenes/Subscriptions/__tests__/subscriptions.fixtures.js +14 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableHelpers.js +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableSchema.js +10 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.fixtures.js +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/__snapshots__/SubscriptionsToolbar.test.js.snap +10 -0
- data/webpack/scenes/Tasks/helpers.js +1 -1
- metadata +49 -29
- data/app/assets/javascripts/katello/containers/container.js +0 -304
- data/db/migrate/20240531193030_remove_sha1_repository_checksum_type.rb +0 -10
- data/lib/monkeys/anemone.rb +0 -33
- data/webpack/utils/useKatelloDocUrl.js +0 -18
@@ -16,24 +16,26 @@
|
|
16
16
|
<% cs_select_name = using_hostgroups_page? ? 'hostgroup[content_source_id]' : 'host[content_facet_attributes][content_source_id]' %>
|
17
17
|
<% cs_select_attr = using_hostgroups_page? ? 'content_source' : 'content_facet.content_source' %>
|
18
18
|
|
19
|
-
<%= field(f, cs_select_attr, {:label => _("Content Source")}) do
|
20
|
-
if using_hostgroups_page?
|
21
|
-
select_tag cs_select_id, content_source_options(@hostgroup, :include_blank => blank_or_inherit_with_id(f, :content_source)), :data => {"spinner_path" => spinner_path},
|
22
|
-
:class => 'form-control', :name => cs_select_name
|
23
|
-
else
|
24
|
-
|
25
|
-
|
26
|
-
end %>
|
19
|
+
<%= field(f, cs_select_attr, {:label => _("Content Source"), :help_inline => content_source_inherited?(@host) ? 'Inherited from host group' : nil }) do %>
|
20
|
+
<% if using_hostgroups_page? %>
|
21
|
+
<%= select_tag cs_select_id, content_source_options(@hostgroup, :include_blank => blank_or_inherit_with_id(f, :content_source)), :data => {"spinner_path" => spinner_path},
|
22
|
+
:class => 'form-control', :name => cs_select_name %>
|
23
|
+
<% else %>
|
24
|
+
<%= hidden_field_tag 'host[content_facet_attributes][content_source_id]', fetch_content_source(@host).try(:id) %>
|
25
|
+
<%= select_tag cs_select_id, content_source_options(@host, :selected_host_group => @hostgroup || @host.hostgroup, :include_blank => blank_or_inherit_with_id(f, :content_source)), :data => {"spinner_path" => spinner_path}, :class => 'form-control', :name => cs_select_name, :disabled => cv_lce_disabled? %>
|
26
|
+
<% end %>
|
27
|
+
<% end %>
|
27
28
|
|
28
29
|
<% env_select_id = using_hostgroups_page? ? :hostgroup_lifecycle_environment_id : :host_lifecycle_environment_id %>
|
29
30
|
<% env_select_name = using_hostgroups_page? ? 'hostgroup[lifecycle_environment_id]' : 'host[content_facet_attributes][lifecycle_environment_id]' %>
|
30
31
|
<% env_select_attr = using_hostgroups_page? ? 'lifecycle_environment' : 'content_facet.single_lifecycle_environment' %>
|
31
32
|
|
32
|
-
<%= field(f, env_select_attr, {:label => _("Lifecycle Environment")}) do %>
|
33
|
+
<%= field(f, env_select_attr, {:label => _("Lifecycle Environment"), :help_inline => lifecycle_environment_inherited?(@host) ? 'Inherited from host group' : nil}) do %>
|
33
34
|
<% if using_hostgroups_page? %>
|
34
35
|
<%= select_tag env_select_id, lifecycle_environment_options(@hostgroup, :include_blank => blank_or_inherit_with_id(f, :lifecycle_environment)), :class => 'form-control', :name => env_select_name %>
|
35
36
|
<% elsif cv_lce_disabled? %>
|
36
|
-
|
37
|
+
<% host_or_hostgroup_lce = (@host.lifecycle_environments.empty? && @host.hostgroup.present? && @host.hostgroup.lifecycle_environment.present?) ? fetch_lifecycle_environment(@host.hostgroup) : fetch_lifecycle_environment(@host) %>
|
38
|
+
<%= hidden_field_tag 'host[content_facet_attributes][lifecycle_environment_id]', host_or_hostgroup_lce.try(:id) %>
|
37
39
|
<%= select_tag env_select_id, lifecycle_environment_options(@host, :selected_host_group => @hostgroup || @host.hostgroup, :include_blank => blank_or_inherit_with_id(f, :lifecycle_environment)), :class => 'form-control', :name => env_select_name, :disabled => true %>
|
38
40
|
<% else %>
|
39
41
|
<%= select_tag env_select_id, lifecycle_environment_options(@host, :selected_host_group => @hostgroup || @host.hostgroup, :include_blank => blank_or_inherit_with_id(f, :lifecycle_environment)), :class => 'form-control', :name => env_select_name %>
|
@@ -43,7 +45,8 @@ end %>
|
|
43
45
|
<% cv_select_id = using_hostgroups_page? ? :hostgroup_content_view_id : :host_content_view_id %>
|
44
46
|
<% cv_select_name = using_hostgroups_page? ? 'hostgroup[content_view_id]' : 'host[content_facet_attributes][content_view_id]' %>
|
45
47
|
<% cv_select_attr = using_hostgroups_page? ? 'content_view' : 'content_facet.single_content_view' %>
|
46
|
-
|
48
|
+
|
49
|
+
<%= field(f, cv_select_attr, {:label => _("Content View"), :help_inline => content_view_inherited?(@host) ? 'Inherited from host group' : nil}) do %>
|
47
50
|
<% if using_hostgroups_page? %>
|
48
51
|
<%= select_tag cv_select_id, content_views_for_host(@hostgroup, :include_blank => blank_or_inherit_with_id(f, :content_view)), :data => {"spinner_path" => spinner_path}, :class => 'form-control', :name => cv_select_name %>
|
49
52
|
<% elsif cv_lce_disabled? %>
|
@@ -18,10 +18,10 @@
|
|
18
18
|
|
19
19
|
<% spinner_path = asset_path('spinner.gif') %>
|
20
20
|
|
21
|
-
<%= field(f, ks_repo_select_attr, {:label => _("Synced Content")}) do
|
22
|
-
select_tag ks_repo_select_id, view_to_options(kickstart_options, kickstart_repo_id, blank_or_inherit_with_id(f, :kickstart_repository)), :data => {"spinner_path" => spinner_path, "kickstart-repository-id" => kickstart_repo_id},
|
23
|
-
:class => 'form-control', :name => ks_repo_select_name, :disabled => kickstart_options.empty?
|
24
|
-
end %>
|
21
|
+
<%= field(f, ks_repo_select_attr, {:label => _("Synced Content"), :help_inline => kickstart_repo_inheritable?(@host) ? 'Automatically selected from content source, lifecycle environment, content_view, architecture, and operating system' : nil}) do %>
|
22
|
+
<%= select_tag ks_repo_select_id, view_to_options(kickstart_options, kickstart_repo_id, blank_or_inherit_with_id(f, :kickstart_repository)), :data => {"spinner_path" => spinner_path, "kickstart-repository-id" => kickstart_repo_id},
|
23
|
+
:class => 'form-control', :name => ks_repo_select_name, :disabled => kickstart_options.empty? %>
|
24
|
+
<% end %>
|
25
25
|
|
26
26
|
<% content_for(:javascripts) do -%>
|
27
27
|
<script>
|
data/config/routes/api/v2.rb
CHANGED
@@ -266,6 +266,8 @@ Katello::Engine.routes.draw do
|
|
266
266
|
end
|
267
267
|
end
|
268
268
|
|
269
|
+
match "/packages/thindex" => "packages#thindex", :via => :get
|
270
|
+
|
269
271
|
api_resources :packages, :only => [:index, :show] do
|
270
272
|
collection do
|
271
273
|
get :auto_complete_search
|
@@ -429,7 +431,7 @@ Katello::Engine.routes.draw do
|
|
429
431
|
api_resources :packages, :only => [:index, :show]
|
430
432
|
api_resources :package_groups, :only => [:index, :show]
|
431
433
|
api_resources :files, :only => [:index, :show], :controller => 'file_units'
|
432
|
-
api_resources :errata, :only => [:index, :show], :constraints => {:id => /[0-9a-zA-Z
|
434
|
+
api_resources :errata, :only => [:index, :show], :constraints => {:id => /[0-9a-zA-Z\-+%_.:]+/}
|
433
435
|
api_resources :docker_manifests, :only => [:index, :show]
|
434
436
|
api_resources :docker_manifest_lists, :only => [:index, :show]
|
435
437
|
api_resources :docker_tags, :only => [:index, :show]
|
data/config/routes.rb
CHANGED
@@ -10,9 +10,7 @@ Katello::Engine.routes.draw do
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
-
|
14
|
-
match '/remote_execution' => 'remote_execution#create', :via => [:post]
|
15
|
-
end
|
13
|
+
match '/remote_execution' => 'remote_execution#create', :via => [:post]
|
16
14
|
end
|
17
15
|
|
18
16
|
get '/katello/providers/redhat_provider', to: redirect('/redhat_repositories')
|
@@ -2,6 +2,7 @@ class AddMirrorOnSyncToRepositories < ActiveRecord::Migration[4.2]
|
|
2
2
|
class RepositoryMirrorOnSync < ApplicationRecord
|
3
3
|
self.table_name = "katello_repositories"
|
4
4
|
end
|
5
|
+
|
5
6
|
def change
|
6
7
|
add_column :katello_repositories, :mirror_on_sync, :boolean, :default => true, :null => false
|
7
8
|
RepositoryMirrorOnSync.update_all(:mirror_on_sync => false)
|
@@ -2,6 +2,7 @@ class AddDownloadPolicyToKatelloRepositories < ActiveRecord::Migration[4.2]
|
|
2
2
|
class DownloadPolicyRepository < ApplicationRecord
|
3
3
|
self.table_name = "katello_repositories"
|
4
4
|
end
|
5
|
+
|
5
6
|
def change
|
6
7
|
add_column :katello_repositories, :download_policy, :string, :limit => 255
|
7
8
|
DownloadPolicyRepository.where(content_type: 'yum').update_all(download_policy: 'immediate')
|
@@ -14,12 +14,15 @@ class DeletePuppetAndOstreeRepos < ActiveRecord::Migration[6.0]
|
|
14
14
|
class FakeContentViewPuppetEnvironment < Katello::Model
|
15
15
|
self.table_name = 'katello_content_view_puppet_environments'
|
16
16
|
end
|
17
|
+
|
17
18
|
class FakePuppetModule < Katello::Model
|
18
19
|
self.table_name = 'katello_puppet_modules'
|
19
20
|
end
|
21
|
+
|
20
22
|
class FakeRepositoryOstreeBranch < Katello::Model
|
21
23
|
self.table_name = 'katello_repository_ostree_branches'
|
22
24
|
end
|
25
|
+
|
23
26
|
class FakeOstreeBranch < Katello::Model
|
24
27
|
self.table_name = 'katello_ostree_branches'
|
25
28
|
end
|
@@ -8,12 +8,10 @@ unless Rails.env.test?
|
|
8
8
|
::Katello::OrganizationCreator.seed_all_organizations!
|
9
9
|
end
|
10
10
|
|
11
|
-
if ENV['SEED_ORGANIZATION']
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
admin.save!
|
17
|
-
end
|
11
|
+
if ENV['SEED_ORGANIZATION'] && (Setting['db_pending_seed'])
|
12
|
+
admin = User.where(:login => ENV['SEED_ADMIN_USER'].present? ? ENV['SEED_ADMIN_USER'] : 'admin').first
|
13
|
+
if admin && admin.default_organization.nil?
|
14
|
+
admin.default_organization = Organization.find_by(:name => ENV['SEED_ORGANIZATION'])
|
15
|
+
admin.save!
|
18
16
|
end
|
19
17
|
end
|
@@ -1,12 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
JobTemplate.
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
module_template.locations << Location.unscoped.all if module_template.locations.empty?
|
9
|
-
end
|
1
|
+
User.as_anonymous_admin do
|
2
|
+
JobTemplate.without_auditing do
|
3
|
+
module_template = JobTemplate.find_by(name: 'Module Action - Script Default')
|
4
|
+
if module_template
|
5
|
+
module_template.sync_feature('katello_module_stream_action')
|
6
|
+
module_template.organizations << Organization.unscoped.all if module_template.organizations.empty?
|
7
|
+
module_template.locations << Location.unscoped.all if module_template.locations.empty?
|
10
8
|
end
|
11
9
|
end
|
12
10
|
end
|
@@ -1,20 +1,13 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
# import! was renamed to import_raw! around 1.3.1
|
9
|
-
if JobTemplate.respond_to?('import_raw!')
|
10
|
-
template = JobTemplate.import_raw!(File.read(template), :default => true, :lock => true, :update => sync)
|
11
|
-
else
|
12
|
-
template = JobTemplate.import!(File.read(template), :default => true, :lock => true, :update => sync)
|
13
|
-
end
|
1
|
+
User.as_anonymous_admin do
|
2
|
+
JobTemplate.without_auditing do
|
3
|
+
template_files = Dir[File.join("#{Katello::Engine.root}/app/views/foreman/job_templates/**/*.erb")]
|
4
|
+
template_files.reject! { |file| file.end_with?('_ansible_default.erb') } unless Katello.with_ansible?
|
5
|
+
template_files.each do |template|
|
6
|
+
sync = !Rails.env.test? && Setting[:remote_execution_sync_templates]
|
7
|
+
template = JobTemplate.import_raw!(File.read(template), :default => true, :lock => true, :update => sync)
|
14
8
|
|
15
|
-
|
16
|
-
|
17
|
-
end
|
9
|
+
template.organizations << Organization.unscoped.all if template&.organizations&.empty?
|
10
|
+
template.locations << Location.unscoped.all if template&.locations&.empty?
|
18
11
|
end
|
19
12
|
end
|
20
13
|
end
|
@@ -10,8 +10,11 @@ The only real difference, as far as the user is concerned, is that the applicati
|
|
10
10
|
sudo dnf -y install epel-release epel-next-release
|
11
11
|
sudo dnf -y install npm chromium-headless chromium
|
12
12
|
cd ./engines/bastion_katello
|
13
|
+
sudo npm install -g bower
|
13
14
|
sudo npm install -g grunt-cli
|
14
15
|
npm install
|
16
|
+
cd ../bastion
|
17
|
+
npm install
|
15
18
|
```
|
16
19
|
|
17
20
|
```
|
@@ -62,14 +62,14 @@ angular.module('Bastion.content-hosts').controller('ContentHostErrataController'
|
|
62
62
|
previousEnv;
|
63
63
|
|
64
64
|
if (host.hasContent()) {
|
65
|
-
currentEnv = translate("Current Lifecycle Environment (%e/%cv)").replace("%e", host.content_facet_attributes.lifecycle_environment.name).replace("%cv", host.content_facet_attributes.
|
65
|
+
currentEnv = translate("Current Lifecycle Environment (%e/%cv)").replace("%e", host.content_facet_attributes.lifecycle_environment.name).replace("%cv", host.content_facet_attributes.content_view.name);
|
66
66
|
$scope.errataOptions = [{name: currentEnv, label: 'current', order: 3}];
|
67
67
|
|
68
68
|
if (!host['content_facet_attributes']['lifecycle_environment_library?']) {
|
69
69
|
Environment.get({id: host['content_facet_attributes'].lifecycle_environment.id}).$promise.then(function (env) {
|
70
|
-
previousEnv = translate("Previous Lifecycle Environment (%e/%cv)").replace('%e', env.prior.name).replace("%cv", host.content_facet_attributes.
|
70
|
+
previousEnv = translate("Previous Lifecycle Environment (%e/%cv)").replace('%e', env.prior.name).replace("%cv", host.content_facet_attributes.content_view.name);
|
71
71
|
$scope.errataOptions.push({name: previousEnv,
|
72
|
-
label: 'prior', order: 2, 'content_view_id': host.content_facet_attributes.
|
72
|
+
label: 'prior', order: 2, 'content_view_id': host.content_facet_attributes.content_view.id, 'environment_id': env.prior.id});
|
73
73
|
|
74
74
|
});
|
75
75
|
}
|
data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-info.html
CHANGED
@@ -9,10 +9,10 @@
|
|
9
9
|
<dd>
|
10
10
|
<i class="fa fa-spinner fa-spin" ng-show="installedDebCount === undefined"></i>
|
11
11
|
<span ng-show="installedDebCount !== undefined">
|
12
|
-
<a ng-if="newHostDetailsUI" href="{{ '/hosts?search=' + createSearchString('installed_deb') }}" translate>
|
12
|
+
<a ng-if="newHostDetailsUI" href="{{ '/hosts?search=' + createSearchString('installed_deb') }}" target="_blank" rel="noreferrer noopener" translate>
|
13
13
|
{{ installedDebCount }} Host(s)
|
14
14
|
</a>
|
15
|
-
<a ng-if="!newHostDetailsUI" href="{{ '/content_hosts?search=' + createSearchString('installed_deb') }}" translate>
|
15
|
+
<a ng-if="!newHostDetailsUI" href="{{ '/content_hosts?search=' + createSearchString('installed_deb') }}" target="_blank" rel="noreferrer noopener" translate>
|
16
16
|
{{ installedDebCount }} Host(s)
|
17
17
|
</a>
|
18
18
|
</span>
|
@@ -20,20 +20,20 @@
|
|
20
20
|
|
21
21
|
<dt translate>Applicable To</dt>
|
22
22
|
<dd>
|
23
|
-
<a ng-if="newHostDetailsUI" href="{{ '/hosts?search=' + createSearchString('applicable_debs') }}" translate>
|
23
|
+
<a ng-if="newHostDetailsUI" href="{{ '/hosts?search=' + createSearchString('applicable_debs') }}" target="_blank" rel="noreferrer noopener" translate>
|
24
24
|
{{ deb.hosts_applicable_count }} Host(s)
|
25
25
|
</a>
|
26
|
-
<a ng-if="!newHostDetailsUI" href="{{ '/content_hosts?search=' + createSearchString('applicable_debs') }}" translate>
|
26
|
+
<a ng-if="!newHostDetailsUI" href="{{ '/content_hosts?search=' + createSearchString('applicable_debs') }}" target="_blank" rel="noreferrer noopener" translate>
|
27
27
|
{{ deb.hosts_applicable_count }} Host(s)
|
28
28
|
</a>
|
29
29
|
</dd>
|
30
30
|
|
31
31
|
<dt translate>Upgradable For</dt>
|
32
32
|
<dd>
|
33
|
-
<a ng-if="newHostDetailsUI" href="{{ '/hosts?search=' + createSearchString('upgradable_debs') }}" translate>
|
33
|
+
<a ng-if="newHostDetailsUI" href="{{ '/hosts?search=' + createSearchString('upgradable_debs') }}" target="_blank" rel="noreferrer noopener" translate>
|
34
34
|
{{ deb.hosts_available_count }} Host(s)
|
35
35
|
</a>
|
36
|
-
<a ng-if="!newHostDetailsUI" href="{{ '/content_hosts?search=' + createSearchString('upgradable_debs') }}" translate>
|
36
|
+
<a ng-if="!newHostDetailsUI" href="{{ '/content_hosts?search=' + createSearchString('upgradable_debs') }}" target="_blank" rel="noreferrer noopener" translate>
|
37
37
|
{{ deb.hosts_available_count }} Host(s)
|
38
38
|
</a>
|
39
39
|
</dd>
|
@@ -68,8 +68,8 @@
|
|
68
68
|
</span>
|
69
69
|
</td>
|
70
70
|
<td bst-table-cell>{{ contentHost.operatingsystem_name }}</td>
|
71
|
-
<td bst-table-cell>{{ contentHost.content_facet_attributes.
|
72
|
-
<td bst-table-cell>{{ contentHost.content_facet_attributes.
|
71
|
+
<td bst-table-cell>{{ contentHost.content_facet_attributes.lifecycle_environment.name }}</td>
|
72
|
+
<td bst-table-cell>{{ contentHost.content_facet_attributes.content_view.name || "" }}</td>
|
73
73
|
</tr>
|
74
74
|
</tbody>
|
75
75
|
</table>
|
data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot
CHANGED
@@ -1938,10 +1938,6 @@ msgstr ""
|
|
1938
1938
|
msgid "Finished At"
|
1939
1939
|
msgstr ""
|
1940
1940
|
|
1941
|
-
#: app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html
|
1942
|
-
msgid "For older operating systems such as Red Hat Enterprise Linux 5 or CentOS 5 it is recommended to use sha1."
|
1943
|
-
msgstr ""
|
1944
|
-
|
1945
1941
|
#: app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html
|
1946
1942
|
msgid ""
|
1947
1943
|
"For On Demand synchronization, only the metadata is downloaded during sync and packages are fetched and stored on the filesystem when clients request them.\n"
|
@@ -4282,6 +4278,10 @@ msgstr ""
|
|
4282
4278
|
msgid "The selected environment contains no Content Views, please select a different environment."
|
4283
4279
|
msgstr ""
|
4284
4280
|
|
4281
|
+
#: app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html
|
4282
|
+
msgid "The sha1 checksum type is no longer supported. The checksum type will reset to 'Default' at the next edit or change in content."
|
4283
|
+
msgstr ""
|
4284
|
+
|
4285
4285
|
#: app/assets/javascripts/bastion_katello/sync-plans/new/views/new-sync-plan-form.html
|
4286
4286
|
msgid "The time the sync should happen in your current time zone."
|
4287
4287
|
msgstr ""
|
@@ -9,10 +9,10 @@
|
|
9
9
|
<dd>
|
10
10
|
<i class="fa fa-spinner fa-spin" ng-show="installedPackageCount === undefined"></i>
|
11
11
|
<span ng-show="installedPackageCount !== undefined">
|
12
|
-
<a ng-if="newHostDetailsUI" href="{{ newHostUrl('installed_package') }}" translate>
|
12
|
+
<a ng-if="newHostDetailsUI" href="{{ newHostUrl('installed_package') }}" target="_blank" rel="noreferrer noopener" translate>
|
13
13
|
{{ installedPackageCount }} Host(s)
|
14
14
|
</a>
|
15
|
-
<a ng-if="!newHostDetailsUI" href="{{ encodedUrl('installed_package') }}" translate>
|
15
|
+
<a ng-if="!newHostDetailsUI" href="{{ encodedUrl('installed_package') }}" target="_blank" rel="noreferrer noopener" translate>
|
16
16
|
{{ installedPackageCount }} Host(s)
|
17
17
|
</a>
|
18
18
|
</span>
|
@@ -20,20 +20,20 @@
|
|
20
20
|
|
21
21
|
<dt translate>Applicable To</dt>
|
22
22
|
<dd>
|
23
|
-
<a ng-if="newHostDetailsUI" href="{{ newHostUrl('applicable_rpms') }}" translate>
|
23
|
+
<a ng-if="newHostDetailsUI" href="{{ newHostUrl('applicable_rpms') }}" target="_blank" rel="noreferrer noopener" translate>
|
24
24
|
{{ package.hosts_applicable_count }} Host(s)
|
25
25
|
</a>
|
26
|
-
<a ng-if="!newHostDetailsUI" href="{{ encodedUrl('applicable_rpms') }}" translate>
|
26
|
+
<a ng-if="!newHostDetailsUI" href="{{ encodedUrl('applicable_rpms') }}" target="_blank" rel="noreferrer noopener" translate>
|
27
27
|
{{ package.hosts_applicable_count }} Host(s)
|
28
28
|
</a>
|
29
29
|
</dd>
|
30
30
|
|
31
31
|
<dt translate>Upgradable For</dt>
|
32
32
|
<dd>
|
33
|
-
<a ng-if="newHostDetailsUI" href="{{ newHostUrl('upgradable_rpms') }}" translate>
|
33
|
+
<a ng-if="newHostDetailsUI" href="{{ newHostUrl('upgradable_rpms') }}" target="_blank" rel="noreferrer noopener" translate>
|
34
34
|
{{ package.hosts_available_count }} Host(s)
|
35
35
|
</a>
|
36
|
-
<a ng-if="!newHostDetailsUI" href="{{ encodedUrl('upgradable_rpms') }}" translate>
|
36
|
+
<a ng-if="!newHostDetailsUI" href="{{ encodedUrl('upgradable_rpms') }}" target="_blank" rel="noreferrer noopener" translate>
|
37
37
|
{{ package.hosts_available_count }} Host(s)
|
38
38
|
</a>
|
39
39
|
</dd>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<dt translate>Name</dt>
|
9
9
|
<dd bst-edit-text="repository.name"
|
10
10
|
on-save="save(repository)"
|
11
|
-
readonly="product.redhat || denied('edit_products', product)">
|
11
|
+
readonly="product.redhat || denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
12
12
|
</dd>
|
13
13
|
|
14
14
|
<dt translate>Label</dt>
|
@@ -17,7 +17,7 @@
|
|
17
17
|
<dt translate>Description</dt>
|
18
18
|
<dd bst-edit-textarea="repository.description"
|
19
19
|
on-save="save(repository)"
|
20
|
-
readonly="product.redhat || denied('edit_products', product)">
|
20
|
+
readonly="product.redhat || denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
21
21
|
</dd>
|
22
22
|
|
23
23
|
<dt translate>Backend Identifier</dt>
|
@@ -54,7 +54,8 @@
|
|
54
54
|
</dd>
|
55
55
|
|
56
56
|
<dt ng-if="product.redhat != true" translate>Metadata Expiration (Seconds)</dt>
|
57
|
-
<dd bst-edit-number="repository.metadata_expire" on-save="save(repository)"
|
57
|
+
<dd bst-edit-number="repository.metadata_expire" on-save="save(repository)"
|
58
|
+
readonly="product.redhat || denied('edit_products', product) || !repository.allow_updates || repository.is_container_push"
|
58
59
|
deletable="repository.metadata_expire !== null"
|
59
60
|
on-delete="clearMetadataExpire()"
|
60
61
|
min="1"
|
@@ -72,7 +73,7 @@
|
|
72
73
|
<dt ng-show="repository.content_type === 'docker'" translate>Registry URL</dt>
|
73
74
|
<dd bst-edit-text="repository.url"
|
74
75
|
on-save="save(repository)"
|
75
|
-
readonly="product.redhat || denied('edit_products', product)">
|
76
|
+
readonly="product.redhat || denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
76
77
|
</dd>
|
77
78
|
|
78
79
|
<span ng-show="repository.generic_remote_options !== []">
|
@@ -93,21 +94,21 @@
|
|
93
94
|
<dt translate>Releases/Distributions</dt>
|
94
95
|
<dd bst-edit-text="repository.deb_releases"
|
95
96
|
on-save="save(repository)"
|
96
|
-
readonly="denied('edit_products', product)">
|
97
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
97
98
|
</dd>
|
98
99
|
</span>
|
99
100
|
<span ng-if="repository.content_type == 'deb'">
|
100
101
|
<dt translate>Components</dt>
|
101
102
|
<dd bst-edit-text="repository.deb_components"
|
102
103
|
on-save="save(repository)"
|
103
|
-
readonly="denied('edit_products', product)">
|
104
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
104
105
|
</dd>
|
105
106
|
</span>
|
106
107
|
<span ng-if="repository.content_type == 'deb'">
|
107
108
|
<dt translate>Architectures</dt>
|
108
109
|
<dd bst-edit-text="repository.deb_architectures"
|
109
110
|
on-save="save(repository)"
|
110
|
-
readonly="denied('edit_products', product)">
|
111
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
111
112
|
</dd>
|
112
113
|
</span>
|
113
114
|
|
@@ -115,7 +116,7 @@
|
|
115
116
|
<dt translate>Upstream Repository Name</dt>
|
116
117
|
<dd bst-edit-text="repository.docker_upstream_name"
|
117
118
|
on-save="save(repository)"
|
118
|
-
readonly="product.redhat || denied('edit_products', product)">
|
119
|
+
readonly="product.redhat || denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
119
120
|
</dd>
|
120
121
|
</span>
|
121
122
|
|
@@ -135,13 +136,13 @@
|
|
135
136
|
<dt translate>Requirements</dt>
|
136
137
|
<dd class="overflow-span" bst-edit-textarea="repository.ansible_collection_requirements"
|
137
138
|
on-save="save(repository)"
|
138
|
-
readonly="denied('edit_products', product)"
|
139
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push"
|
139
140
|
edit-trigger="uploadedFile">
|
140
141
|
</dd>
|
141
142
|
|
142
143
|
<dt translate>Ansible Collection Authorization</dt>
|
143
144
|
<dd bst-edit-custom="repository.ansible_collection_auth_exists"
|
144
|
-
readonly="denied('edit_products', product)"
|
145
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push"
|
145
146
|
on-save="save(repository)"
|
146
147
|
formatter="ansibleAuthFilter"
|
147
148
|
formatter-options="repository"
|
@@ -166,13 +167,13 @@
|
|
166
167
|
<dd bst-edit-checkbox="repository.verify_ssl_on_sync"
|
167
168
|
formatter="booleanToYesNo"
|
168
169
|
on-save="save(repository)"
|
169
|
-
readonly="denied('edit_products', product)">
|
170
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
170
171
|
</dd>
|
171
172
|
|
172
173
|
<span ng-if="!product.redhat">
|
173
174
|
<dt translate>Upstream Authorization</dt>
|
174
175
|
<dd bst-edit-custom="repository.upstream_auth_exists"
|
175
|
-
readonly="denied('edit_products', product)"
|
176
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push"
|
176
177
|
on-save="save(repository)"
|
177
178
|
formatter="upstreamPasswordFilter"
|
178
179
|
formatter-options="repository"
|
@@ -203,25 +204,28 @@
|
|
203
204
|
<span ng-show="repository.content_type === 'yum'">
|
204
205
|
<dt translate>Yum Metadata Checksum</dt>
|
205
206
|
<dd bst-edit-select="checksumTypeDisplay(repository.checksum_type)"
|
206
|
-
readonly="product.redhat || denied('edit_products', product)"
|
207
|
+
readonly="product.redhat || denied('edit_products', product) || !repository.allow_updates || repository.is_container_push"
|
207
208
|
selector="repository.checksum_type"
|
208
209
|
options="checksums"
|
209
210
|
on-save="save(repository)">
|
210
211
|
</dd>
|
212
|
+
<p ng-hide="repository.checksum_type !== 'sha1'" class="help-block" translate>
|
213
|
+
The sha1 checksum type is no longer supported. The checksum type will reset to 'Default' at the next edit or change in content.
|
214
|
+
</p>
|
211
215
|
</span>
|
212
216
|
|
213
217
|
<span ng-show="repository.content_type === 'yum' && repository.mirroring_policy === 'additive'">
|
214
218
|
<dt translate>Retain package versions</dt>
|
215
219
|
<dd bst-edit-number="repository.retain_package_versions_count"
|
216
220
|
on-save="save(repository)"
|
217
|
-
readonly="denied('edit_products', product)">
|
221
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
218
222
|
</dd>
|
219
223
|
</span>
|
220
224
|
|
221
225
|
<span>
|
222
226
|
<dt translate>HTTP Proxy</dt>
|
223
227
|
<dd bst-edit-custom="repository.http_proxy_policy"
|
224
|
-
readonly="denied('edit_products', product)"
|
228
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push"
|
225
229
|
on-save="save(repository)"
|
226
230
|
formatter="httpProxyDetailsFilter"
|
227
231
|
formatter-options="repository"
|
@@ -261,7 +265,7 @@
|
|
261
265
|
<dd bst-edit-checkbox="repository.ignore_srpms"
|
262
266
|
formatter="booleanToYesNo"
|
263
267
|
on-save="save(repository)"
|
264
|
-
readonly="denied('edit_products', product)">
|
268
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
265
269
|
</dd>
|
266
270
|
</span>
|
267
271
|
|
@@ -270,7 +274,7 @@
|
|
270
274
|
<dd bst-edit-checkbox="repository.ignore_treeinfo"
|
271
275
|
formatter="booleanToYesNo"
|
272
276
|
on-save="save(repository)"
|
273
|
-
readonly="denied('edit_products', product)">
|
277
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
274
278
|
</dd>
|
275
279
|
</span>
|
276
280
|
|
@@ -279,7 +283,7 @@
|
|
279
283
|
<dd bst-edit-checkbox="repository.unprotected"
|
280
284
|
formatter="booleanToYesNo"
|
281
285
|
on-save="save(repository)"
|
282
|
-
readonly="product.redhat || denied('edit_products', product)">
|
286
|
+
readonly="product.redhat || denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
283
287
|
</dd>
|
284
288
|
</span>
|
285
289
|
|
@@ -298,7 +302,7 @@
|
|
298
302
|
<span ng-if="(repository.content_type === 'yum' && !product.redhat) || repository.content_type === 'deb'">
|
299
303
|
<dt translate>GPG Key</dt>
|
300
304
|
<dd bst-edit-select="repository.gpg_key.name"
|
301
|
-
readonly="product.redhat ||denied('edit_products', product)"
|
305
|
+
readonly="product.redhat ||denied('edit_products', product) || !repository.allow_updates || repository.is_container_push"
|
302
306
|
selector="repository.gpg_key_id"
|
303
307
|
options="gpgKeys()"
|
304
308
|
on-save="save(repository)">
|
@@ -306,21 +310,21 @@
|
|
306
310
|
</span>
|
307
311
|
<dt translate>SSL CA Cert</dt>
|
308
312
|
<dd bst-edit-select="repository.ssl_ca_cert.name"
|
309
|
-
readonly="product.redhat ||denied('edit_products', product)"
|
313
|
+
readonly="product.redhat ||denied('edit_products', product) || !repository.allow_updates || repository.is_container_push"
|
310
314
|
selector="repository.ssl_ca_cert_id"
|
311
315
|
options="certs()"
|
312
316
|
on-save="save(repository)">
|
313
317
|
</dd>
|
314
318
|
<dt translate>SSL Client Cert</dt>
|
315
319
|
<dd bst-edit-select="repository.ssl_client_cert.name"
|
316
|
-
readonly="product.redhat ||denied('edit_products', product)"
|
320
|
+
readonly="product.redhat ||denied('edit_products', product) || !repository.allow_updates || repository.is_container_push"
|
317
321
|
selector="repository.ssl_client_cert_id"
|
318
322
|
options="certs()"
|
319
323
|
on-save="save(repository)">
|
320
324
|
</dd>
|
321
325
|
<dt translate>SSL Client Key</dt>
|
322
326
|
<dd bst-edit-select="repository.ssl_client_key.name"
|
323
|
-
readonly="product.redhat ||denied('edit_products', product)"
|
327
|
+
readonly="product.redhat ||denied('edit_products', product) || !repository.allow_updates || repository.is_container_push"
|
324
328
|
selector="repository.ssl_client_key_id"
|
325
329
|
options="certs()"
|
326
330
|
on-save="save(repository)">
|
@@ -328,7 +332,7 @@
|
|
328
332
|
<span ng-if="repository.content_type == 'yum' || repository.content_type == 'deb' || repository.content_type == 'docker'">
|
329
333
|
<dt translate>Download Policy</dt>
|
330
334
|
<dd bst-edit-select="downloadPolicyDisplay(repository.download_policy)"
|
331
|
-
readonly="denied('edit_products', product)"
|
335
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push"
|
332
336
|
selector="repository.download_policy"
|
333
337
|
options="downloadPolicies"
|
334
338
|
options-format="id as name for (id, name) in options"
|
@@ -346,7 +350,7 @@
|
|
346
350
|
<dt translate>Mirroring Policy</dt>
|
347
351
|
|
348
352
|
<dd bst-edit-select="mirroringPolicyDisplay(repository.mirroring_policy, repository.content_type)"
|
349
|
-
readonly="denied('edit_products', product)"
|
353
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push"
|
350
354
|
selector="repository.mirroring_policy"
|
351
355
|
options="mirroringPolicies(repository.content_type)"
|
352
356
|
options-format="id as name for (id, name) in options"
|
@@ -357,12 +361,12 @@
|
|
357
361
|
<dt translate>Include Tags</dt>
|
358
362
|
<dd bst-edit-text="repository.commaIncludeTags"
|
359
363
|
on-save="save(repository)"
|
360
|
-
readonly="denied('edit_products', product)">
|
364
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
361
365
|
</dd>
|
362
366
|
<dt translate>Exclude Tags</dt>
|
363
367
|
<dd bst-edit-text="repository.commaExcludeTags"
|
364
368
|
on-save="save(repository)"
|
365
|
-
readonly="denied('edit_products', product)">
|
369
|
+
readonly="denied('edit_products', product) || !repository.allow_updates || repository.is_container_push">
|
366
370
|
</dd>
|
367
371
|
</span>
|
368
372
|
</dl>
|
@@ -521,7 +525,7 @@
|
|
521
525
|
|
522
526
|
<span ng-hide="(repository.content_type === 'deb' && repository.url)">
|
523
527
|
<section class="well" ng-if="permitted('edit_products', product) && !product.redhat && repository.content_type !== 'docker' && repository.content_type !== 'ostree' && repository.content_type !== 'ansible_collection'">
|
524
|
-
<h5 translate ng-show="repository.content_type === 'yum' || 'deb'">Upload Package</h5>
|
528
|
+
<h5 translate ng-show="repository.content_type === 'yum' || repository.content_type === 'deb'">Upload Package</h5>
|
525
529
|
<h5 translate ng-show="repository.content_type === 'file'">Upload File</h5>
|
526
530
|
|
527
531
|
<form role="form"
|