katello 3.12.3 → 3.13.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/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +22 -3
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +2 -2
- data/app/controllers/katello/api/v2/activation_keys_controller.rb +32 -15
- data/app/controllers/katello/api/v2/ansible_collections_controller.rb +19 -0
- data/app/controllers/katello/api/v2/content_view_filters_controller.rb +3 -0
- data/app/controllers/katello/api/v2/content_view_puppet_modules_controller.rb +1 -0
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +1 -0
- data/app/controllers/katello/api/v2/content_views_controller.rb +1 -0
- data/app/controllers/katello/api/v2/environments_controller.rb +1 -0
- data/app/controllers/katello/api/v2/errata_controller.rb +2 -1
- data/app/controllers/katello/api/v2/gpg_keys_controller.rb +1 -0
- data/app/controllers/katello/api/v2/host_collections_controller.rb +1 -0
- data/app/controllers/katello/api/v2/host_debs_controller.rb +34 -0
- data/app/controllers/katello/api/v2/host_errata_controller.rb +51 -4
- data/app/controllers/katello/api/v2/host_packages_controller.rb +1 -0
- data/app/controllers/katello/api/v2/module_streams_controller.rb +1 -0
- data/app/controllers/katello/api/v2/organizations_controller.rb +1 -3
- data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +18 -0
- data/app/controllers/katello/api/v2/products_controller.rb +1 -0
- data/app/controllers/katello/api/v2/repositories_controller.rb +46 -11
- data/app/controllers/katello/api/v2/repository_sets_controller.rb +6 -5
- data/app/controllers/katello/api/v2/srpms_controller.rb +24 -0
- data/app/controllers/katello/api/v2/sync_plans_controller.rb +1 -0
- data/app/controllers/katello/application_controller.rb +1 -0
- data/app/controllers/katello/concerns/api/v2/bulk_hosts_extensions.rb +2 -2
- data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +9 -0
- data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +2 -0
- data/app/controllers/katello/concerns/hosts_controller_extensions.rb +1 -1
- data/app/helpers/katello/concerns/dashboard_helper_extensions.rb +13 -10
- data/app/lib/actions/candlepin/activation_key/create.rb +7 -1
- data/app/lib/actions/candlepin/activation_key/update.rb +7 -1
- data/app/lib/actions/candlepin/owner/destroy.rb +1 -1
- data/app/lib/actions/candlepin/product/update.rb +17 -0
- data/app/lib/actions/helpers/output_propagator.rb +13 -0
- data/app/lib/actions/katello/activation_key/create.rb +4 -1
- data/app/lib/actions/katello/activation_key/update.rb +8 -2
- data/app/lib/actions/katello/content_view/publish.rb +22 -34
- data/app/lib/actions/katello/event_queue/poller_thread.rb +22 -9
- data/app/lib/actions/katello/host/update.rb +3 -1
- data/app/lib/actions/katello/host/upload_profiles.rb +16 -0
- data/app/lib/actions/katello/organization/destroy.rb +0 -11
- data/app/lib/actions/katello/product/update.rb +8 -0
- data/app/lib/actions/katello/product/update_http_proxy.rb +19 -0
- data/app/lib/actions/katello/provider/update.rb +6 -7
- data/app/lib/actions/katello/pulp_selector.rb +15 -5
- data/app/lib/actions/katello/repository/check_matching_content.rb +3 -1
- data/app/lib/actions/katello/repository/clone_contents.rb +19 -6
- data/app/lib/actions/katello/repository/clone_to_environment.rb +3 -5
- data/app/lib/actions/katello/repository/create.rb +3 -1
- data/app/lib/actions/katello/repository/destroy.rb +5 -4
- data/app/lib/actions/katello/repository/discover.rb +8 -8
- data/app/lib/actions/katello/repository/export.rb +1 -1
- data/app/lib/actions/katello/repository/filtered_index_content.rb +10 -5
- data/app/lib/actions/katello/repository/finish_upload.rb +8 -0
- data/app/lib/actions/katello/repository/import_upload.rb +5 -2
- data/app/lib/actions/katello/repository/index_content.rb +3 -2
- data/app/lib/actions/katello/repository/metadata_generate.rb +10 -4
- data/app/lib/actions/katello/repository/remove_content.rb +11 -3
- data/app/lib/actions/katello/repository/sync.rb +14 -7
- data/app/lib/actions/katello/repository/update.rb +11 -5
- data/app/lib/actions/katello/repository/update_http_proxy_details.rb +17 -0
- data/app/lib/actions/katello/repository/upload_files.rb +7 -3
- data/app/lib/actions/katello/subscription/update.rb +11 -0
- data/app/lib/actions/katello/upstream_subscriptions/remove_entitlement.rb +3 -0
- data/app/lib/actions/katello/upstream_subscriptions/remove_entitlements.rb +4 -1
- data/app/lib/actions/middleware/backend_services_check.rb +10 -2
- data/app/lib/actions/middleware/propagate_output.rb +15 -0
- data/app/lib/actions/middleware/pulp3_services_check.rb +9 -0
- data/app/lib/actions/pulp/abstract_async_task.rb +8 -1
- data/app/lib/actions/pulp/orchestration/repository/copy_all_units.rb +19 -0
- data/app/lib/actions/pulp/orchestration/repository/refresh.rb +14 -0
- data/app/lib/actions/pulp/orchestration/repository/refresh_if_needed.rb +13 -0
- data/app/lib/actions/pulp/orchestration/repository/remove_units.rb +14 -0
- data/app/lib/actions/pulp/orchestration/repository/sync.rb +17 -0
- data/app/lib/actions/pulp/repository/copy_all_units.rb +1 -1
- data/app/lib/actions/pulp/repository/create.rb +0 -1
- data/app/lib/actions/pulp/repository/refresh.rb +0 -5
- data/app/lib/actions/pulp/repository/remove_units.rb +1 -1
- data/app/lib/actions/pulp/repository/sync.rb +8 -14
- data/app/lib/actions/pulp3/abstract.rb +2 -1
- data/app/lib/actions/pulp3/abstract_async_task.rb +15 -6
- data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +55 -0
- data/app/lib/actions/pulp3/orchestration/repository/create.rb +1 -2
- data/app/lib/actions/pulp3/orchestration/repository/delete.rb +1 -2
- data/app/lib/actions/pulp3/orchestration/repository/generate_metadata.rb +17 -2
- data/app/lib/actions/pulp3/orchestration/repository/remove_units.rb +18 -0
- data/app/lib/actions/pulp3/orchestration/repository/sync.rb +19 -0
- data/app/lib/actions/pulp3/orchestration/repository/update.rb +15 -0
- data/app/lib/actions/pulp3/repository/copy_content.rb +19 -0
- data/app/lib/actions/pulp3/repository/copy_version.rb +19 -0
- data/app/lib/actions/pulp3/repository/create_publication.rb +3 -2
- data/app/lib/actions/pulp3/repository/presenters/abstract_sync_presenter.rb +42 -0
- data/app/lib/actions/pulp3/repository/presenters/content_unit_presenter.rb +57 -0
- data/app/lib/actions/pulp3/repository/refresh_distribution.rb +7 -3
- data/app/lib/actions/pulp3/repository/remove_units.rb +23 -0
- data/app/lib/actions/pulp3/repository/save_distribution_references.rb +6 -4
- data/app/lib/actions/pulp3/repository/save_publication.rb +5 -4
- data/app/lib/actions/pulp3/repository/save_version.rb +8 -4
- data/app/lib/actions/pulp3/repository/sync.rb +55 -0
- data/app/lib/actions/pulp3/repository/{delete_publisher.rb → update_distributions.rb} +5 -5
- data/app/lib/actions/pulp3/repository/{create_publisher.rb → update_remote.rb} +2 -2
- data/app/lib/actions/pulp3/repository/update_repository.rb +16 -0
- data/app/lib/katello/errors.rb +9 -0
- data/app/lib/katello/resources/candlepin/activation_key.rb +5 -4
- data/app/lib/katello/resources/candlepin/product.rb +4 -0
- data/app/lib/katello/resources/candlepin/upstream_consumer.rb +11 -0
- data/app/lib/katello/resources/candlepin/upstream_pool.rb +6 -2
- data/app/lib/katello/resources/cdn.rb +3 -16
- data/app/lib/katello/util/cdn_var_substitutor.rb +0 -3
- data/app/lib/katello/util/http_proxy.rb +9 -9
- data/app/lib/katello/validators/hostgroup_kickstart_repository_validator.rb +1 -1
- data/app/models/katello/activation_key.rb +14 -0
- data/app/models/katello/activation_key_purpose_addon.rb +6 -0
- data/app/models/katello/ansible_collection.rb +32 -0
- data/app/models/katello/candlepin/repository_mapper.rb +1 -1
- data/app/models/katello/concerns/host_managed_extensions.rb +3 -0
- data/app/models/katello/concerns/http_proxy_extensions.rb +60 -0
- data/app/models/katello/concerns/location_extensions.rb +8 -0
- data/app/models/katello/concerns/organization_extensions.rb +9 -0
- data/app/models/katello/concerns/pulp_database_unit.rb +56 -81
- data/app/models/katello/concerns/setting_extensions.rb +14 -0
- data/app/models/katello/concerns/smart_proxy_extensions.rb +27 -11
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +8 -1
- data/app/models/katello/content_view.rb +4 -0
- data/app/models/katello/content_view_filter.rb +4 -8
- data/app/models/katello/docker_tag.rb +11 -10
- data/app/models/katello/erratum.rb +22 -0
- data/app/models/katello/event.rb +2 -0
- data/app/models/katello/events/auto_publish_composite_view.rb +41 -0
- data/app/models/katello/glue/pulp/repo.rb +0 -15
- data/app/models/katello/host/content_facet.rb +35 -4
- data/app/models/katello/host/subscription_facet.rb +14 -16
- data/app/models/katello/host_installed_deb.rb +7 -0
- data/app/models/katello/installed_deb.rb +10 -0
- data/app/models/katello/ping.rb +45 -10
- data/app/models/katello/product_content.rb +1 -1
- data/app/models/katello/purpose_addon.rb +11 -0
- data/app/models/katello/repository.rb +52 -41
- data/app/models/katello/repository_ansible_collection.rb +6 -0
- data/app/models/katello/repository_content_view_filter.rb +7 -0
- data/app/models/katello/rhsm_fact_parser.rb +11 -1
- data/app/models/katello/root_repository.rb +46 -4
- data/app/models/katello/srpm.rb +4 -0
- data/app/models/katello/subscription_facet_purpose_addon.rb +6 -0
- data/app/models/katello/yum_metadata_file.rb +3 -3
- data/app/models/setting/content.rb +32 -7
- data/app/overrides/add_about_page.rb +0 -7
- data/app/services/cert/certs.rb +1 -1
- data/app/services/katello/candlepin/consumer.rb +4 -0
- data/app/services/katello/event_queue.rb +33 -3
- data/app/services/katello/pulp/content_counts_calculator.rb +6 -0
- data/app/services/katello/pulp/docker_manifest.rb +1 -2
- data/app/services/katello/pulp/docker_manifest_list.rb +0 -1
- data/app/services/katello/pulp/file_unit.rb +1 -1
- data/app/services/katello/pulp/pulp_content_unit.rb +43 -0
- data/app/services/katello/pulp/repository.rb +32 -5
- data/app/services/katello/pulp/repository/file.rb +6 -1
- data/app/services/katello/pulp/repository/yum.rb +6 -6
- data/app/services/katello/pulp/rpm.rb +1 -1
- data/app/services/katello/pulp/srpm.rb +1 -1
- data/app/services/katello/pulp3/ansible_collection.rb +31 -0
- data/app/services/katello/pulp3/docker_blob.rb +17 -0
- data/app/services/katello/pulp3/docker_manifest.rb +36 -0
- data/app/services/katello/pulp3/docker_manifest_list.rb +30 -0
- data/app/services/katello/pulp3/docker_tag.rb +28 -0
- data/app/services/katello/pulp3/file_unit.rb +25 -0
- data/app/services/katello/pulp3/pulp_content_unit.rb +75 -0
- data/app/services/katello/pulp3/repository.rb +160 -47
- data/app/services/katello/pulp3/repository/ansible_collection.rb +49 -0
- data/app/services/katello/pulp3/repository/docker.rb +55 -0
- data/app/services/katello/pulp3/repository/file.rb +35 -25
- data/app/services/katello/repository_type.rb +15 -5
- data/app/services/katello/repository_type_manager.rb +32 -1
- data/app/views/dashboard/_subscription_widget.html.erb +7 -7
- data/app/views/foreman/smart_proxies/_content_tab.html.erb +5 -1
- data/app/views/katello/api/v2/activation_keys/base.json.rabl +5 -1
- data/app/views/katello/api/v2/ansible_collections/base.json.rabl +7 -0
- data/app/views/katello/api/v2/ansible_collections/index.json.rabl +7 -0
- data/app/views/katello/api/v2/ansible_collections/show.json.rabl +3 -0
- data/app/views/katello/api/v2/host_debs/base.json.rabl +4 -0
- data/app/views/katello/api/v2/host_debs/index.json.rabl +7 -0
- data/app/views/katello/api/v2/ping/show.json.rabl +2 -1
- data/app/views/katello/api/v2/repositories/base.json.rabl +3 -2
- data/app/views/katello/api/v2/repositories/show.json.rabl +8 -1
- data/app/views/katello/api/v2/srpms/index.json.rabl +7 -0
- data/app/views/katello/api/v2/srpms/show.json.rabl +5 -0
- data/app/views/katello/api/v2/subscription_facet/base.json.rabl +5 -1
- data/config/katello.yaml.example +1 -0
- data/config/routes/api/rhsm.rb +1 -0
- data/config/routes/api/v2.rb +16 -0
- data/config/routes/overrides.rb +4 -0
- data/db/migrate/20180502155123_add_installed_deb.rb +23 -0
- data/db/migrate/20190513162209_drop_repository_reference_publisher_href.rb +5 -0
- data/db/migrate/20190605014649_add_purpose_addons.rb +29 -0
- data/db/migrate/20190617142328_create_katello_ansible_collections.rb +25 -0
- data/db/migrate/20190618034438_add_ansible_collection_whitelist_to_katello_root_repositories.rb +5 -0
- data/db/migrate/20190619192151_add_activation_key_system_purpose_attributes.rb +14 -0
- data/db/migrate/20190701174401_add_http_proxy_policy_to_repository_root.rb +12 -0
- data/db/migrate/20190701192616_add_http_proxy_to_repository_root.rb +6 -0
- data/db/migrate/20190702182118_add_metadata_process_after_to_katello_event.rb +6 -0
- data/db/migrate/20190708195809_remove_all_manifest_downloaded.rb +11 -0
- data/db/migrate/20190723171639_update_content_view_filters_repositories_join_table.rb +11 -0
- data/db/seeds.d/115-http_proxy.rb +25 -0
- data/engines/bastion/app/views/bastion/layouts/assets.html.erb +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details-info.controller.js +15 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +69 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-info.html +39 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-repository-sets-modal.controller.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +1 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.routes.js +26 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs-actions.controller.js +14 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs-installed.controller.js +77 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs.controller.js +63 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +18 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-debs-actions.html +62 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-debs-installed.html +52 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-debs.html +9 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +21 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +1 -2
- 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/content-views/versions/views/content-view-version-yum.html +4 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-debs.factory.js +20 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host.factory.js +9 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/http-proxies/http-proxies.module.js +14 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/http-proxies/http-proxy.factory.js +21 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/product-bulk-action.factory.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-http-proxy-modal.controller.js +77 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-http-proxy-modal.html +57 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +25 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.filter.js +13 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +75 -29
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/http-proxy-service.js +53 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +18 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +42 -16
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +7 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +16 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +6 -0
- data/lib/katello.rb +0 -1
- data/lib/katello/engine.rb +2 -0
- data/lib/katello/permission_creator.rb +7 -2
- data/lib/katello/permissions/host_permissions.rb +3 -0
- data/lib/katello/plugin.rb +3 -2
- data/lib/katello/repository_types/ansible_collection.rb +8 -0
- data/lib/katello/repository_types/deb.rb +2 -1
- data/lib/katello/repository_types/docker.rb +23 -4
- data/lib/katello/repository_types/file.rb +7 -1
- data/lib/katello/repository_types/ostree.rb +2 -1
- data/lib/katello/repository_types/puppet.rb +2 -1
- data/lib/katello/repository_types/yum.rb +3 -2
- data/lib/katello/tasks/clean_published_repo_directories.rake +1 -1
- data/lib/katello/tasks/delete_orphaned_content.rake +16 -5
- data/lib/katello/tasks/jenkins.rake +2 -0
- data/lib/katello/tasks/update_content_default_http_proxy.rake +69 -0
- data/lib/katello/version.rb +1 -1
- data/package.json +10 -22
- data/webpack/{move_to_foreman/__mocks__ → __mocks__/foremanJS}/foreman_toast_notifications.js +0 -0
- data/webpack/__mocks__/foremanReact/common/helpers.js +3 -6
- data/webpack/__mocks__/foremanReact/common/keyCodes.js +8 -0
- data/webpack/__mocks__/foremanReact/common/urlHelpers.js +7 -0
- data/webpack/__mocks__/foremanReact/components/Settings/SettingsActions.js +4 -0
- data/webpack/__mocks__/foremanReact/components/Settings/SettingsConstants.js +2 -0
- data/webpack/__mocks__/foremanReact/components/common/Fill/GlobalFill.js +3 -0
- data/webpack/__mocks__/foremanReact/components/common/ModalProgressBar.js +8 -0
- data/webpack/components/SelectOrg/SetOrganization.js +11 -19
- data/webpack/components/WithOrganization/__snapshots__/withOrganization.test.js.snap +1 -3
- data/webpack/components/WithOrganization/withOrganization.js +2 -2
- data/webpack/components/WithOrganization/withOrganization.test.js +2 -2
- data/webpack/components/extensions/about/SystemStatuses.js +55 -0
- data/webpack/components/extensions/about/SystemStatusesActions.js +16 -0
- data/webpack/components/extensions/about/SystemStatusesConsts.js +3 -0
- data/webpack/components/extensions/about/SystemStatusesReducer.js +26 -0
- data/webpack/components/extensions/about/SystemStatusesSelectors.js +3 -0
- data/webpack/components/extensions/about/__tests__/SystemStatuses.fixtures.js +20 -0
- data/webpack/components/extensions/about/__tests__/SystemStatuses.test.js +14 -0
- data/webpack/components/extensions/about/__tests__/SystemStatusesReducer.test.js +32 -0
- data/webpack/components/extensions/about/__tests__/__snapshots__/SystemStatuses.test.js.snap +156 -0
- data/webpack/components/extensions/about/__tests__/__snapshots__/SystemStatusesReducer.test.js.snap +47 -0
- data/webpack/components/extensions/about/index.js +19 -0
- data/webpack/components/extensions/reducers.js +6 -0
- data/webpack/containers/Application/config.js +4 -10
- data/webpack/fills_index.js +10 -0
- data/webpack/move_to_foreman/common/helpers.js +0 -20
- data/webpack/move_to_foreman/components/common/table/components/TableSelectionCell.js +1 -0
- data/webpack/move_to_foreman/components/common/table/formatters/EntitlementsInlineEditFormatter.js +3 -3
- data/webpack/move_to_pf/LoadingState/LoadingState.js +1 -0
- data/webpack/move_to_pf/OptionTooltip/OptionTooltip.scss +2 -1
- data/webpack/move_to_pf/TypeAhead/TypeAhead.js +3 -4
- data/webpack/redux/actions/RedHatRepositories/helpers.js +6 -1
- data/webpack/redux/reducers/index.js +2 -0
- data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailInfo.js +1 -0
- data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetails.js +1 -0
- data/webpack/scenes/ModuleStreams/Details/Profiles/TableSchema.js +1 -0
- data/webpack/scenes/ModuleStreams/Details/Profiles/__tests__/ProfileRpmsCellFormatter.test.js +0 -2
- data/webpack/scenes/ModuleStreams/Details/Repositories/TableSchema.js +3 -2
- data/webpack/scenes/ModuleStreams/Details/index.js +1 -1
- data/webpack/scenes/ModuleStreams/ModuleStreamsPage.js +2 -0
- data/webpack/scenes/ModuleStreams/ModuleStreamsTable.js +2 -0
- data/webpack/scenes/ModuleStreams/ModuleStreamsTableSchema.js +3 -2
- data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamPage.test.js +0 -1
- data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamsTable.test.js +0 -1
- data/webpack/scenes/ModuleStreams/index.js +1 -1
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepository.js +2 -3
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepositoryContent.js +1 -0
- data/webpack/scenes/RedHatRepositories/components/RecommendedRepositorySetsToggler.js +1 -0
- data/webpack/scenes/RedHatRepositories/components/RecommendedRepositorySetsToggler.scss +1 -1
- data/webpack/scenes/RedHatRepositories/components/RepositorySetRepositories.js +1 -0
- data/webpack/scenes/RedHatRepositories/components/RepositorySetRepository/RepositorySetRepository.js +3 -4
- data/webpack/scenes/RedHatRepositories/components/RepositorySetRepository/__test__/RepositorySetRepository.test.js +0 -2
- data/webpack/scenes/RedHatRepositories/components/SearchBar.js +1 -0
- data/webpack/scenes/RedHatRepositories/helpers.js +1 -1
- data/webpack/scenes/RedHatRepositories/index.js +3 -2
- data/webpack/scenes/RedHatRepositories/index.scss +1 -1
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailAssociations.js +3 -3
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailProductContent.js +1 -0
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailProducts.js +1 -0
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetails.js +1 -2
- data/webpack/scenes/Subscriptions/Details/__tests__/SubscriptionDetails.test.js +0 -1
- data/webpack/scenes/Subscriptions/Details/index.js +1 -1
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +1 -0
- data/webpack/scenes/Subscriptions/Manifest/__tests__/ManageManifestModal.test.js +1 -2
- data/webpack/scenes/Subscriptions/SubscriptionReducer.js +1 -1
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +3 -2
- data/webpack/scenes/Subscriptions/SubscriptionsPage.scss +1 -2
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +9 -9
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsTableSchema.js +2 -2
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/UpstreamSubscriptionsPage.test.js +0 -1
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/index.js +1 -1
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsPage.test.js +1 -2
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsReducer.test.js +2 -1
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +2 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionTypeFormatter.js +3 -2
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableSchema.js +3 -2
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.test.js +1 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/DeleteDialog.js +1 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/InputsErrorsDialog.js +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/UnsavedChangesDialog.js +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/UpdateDialog.js +1 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Table.js +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.js +1 -0
- data/webpack/scenes/Subscriptions/index.js +1 -1
- data/webpack/scenes/Tasks/helpers.js +5 -6
- metadata +161 -20
- data/app/lib/actions/katello/repository/clear.rb +0 -11
- data/app/views/overrides/about/_system_status.html.erb +0 -19
- data/webpack/move_to_foreman/Settings/SettingsActions.js +0 -28
- data/webpack/move_to_foreman/Settings/SettingsConstants.js +0 -3
- data/webpack/move_to_foreman/Settings/__tests__/SettingsActions.test.js +0 -41
- data/webpack/move_to_foreman/Settings/__tests__/settings.fixtures.js +0 -34
- data/webpack/move_to_foreman/components/common/ModalProgressBar/ModalProgressBar.js +0 -48
- data/webpack/move_to_foreman/components/common/ModalProgressBar/ModalProgressBar.scss +0 -15
- data/webpack/move_to_foreman/components/common/ModalProgressBar/__tests__/ModalProgressBar.test.js +0 -22
- data/webpack/move_to_foreman/components/common/ModalProgressBar/__tests__/__snapshots__/ModalProgressBar.test.js.snap +0 -60
- data/webpack/move_to_foreman/components/common/ModalProgressBar/index.js +0 -4
- data/webpack/move_to_foreman/foreman_toast_notifications.js +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a68154d032a02256c3ff6e96034502c068733fe1d9a56563752eaf0872aaf3d8
|
4
|
+
data.tar.gz: 5c0142999143ffc5b34c5f8a7e22b706fde67ae5a19cde1e5f6efe91afe261a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15618682b388b7d4c21599f02a15ad962a24dc82f67576f19df37d16456000e2c342c520b16d8b1092f3d97e3daae8fa07c1574a34f9780e5491990919bb361f
|
7
|
+
data.tar.gz: 63055d639c7ec06fa43dba4f659f3b87e7ace99a33e62b5a494eb90d79100ac1da22d4719f66b58378355d08ec0d52e6c7f869884b0c850e652b9a55b8e0ae9f
|
@@ -4,9 +4,11 @@ module Katello
|
|
4
4
|
include ForemanTasks::Triggers
|
5
5
|
include AbstractController::Callbacks
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
before_action :deprecated, only: :deb_package_profile
|
8
|
+
|
9
|
+
skip_before_action :authorize, :only => [:upload_package_profile, :upload_profiles, :deb_package_profile]
|
10
|
+
before_action :find_host, :only => [:upload_package_profile, :upload_profiles, :deb_package_profile]
|
11
|
+
before_action :authorize_client_or_user, :only => [:upload_package_profile, :upload_profiles, :deb_package_profile]
|
10
12
|
|
11
13
|
skip_before_action :check_content_type
|
12
14
|
|
@@ -29,6 +31,19 @@ module Katello
|
|
29
31
|
render :json => Resources::Candlepin::Consumer.get(@host.subscription_facet.uuid)
|
30
32
|
end
|
31
33
|
|
34
|
+
api :PUT, "/systems/:id/deb_package_profile", N_("Update installed deb packages")
|
35
|
+
param :deb_package_profile, Hash, :required => true do
|
36
|
+
param :deb_packages, Array, :required => true do
|
37
|
+
param :name, String, :required => true
|
38
|
+
param :architecture, String, :required => true
|
39
|
+
param :version, String, :required => true
|
40
|
+
end
|
41
|
+
end
|
42
|
+
param :id, String, :desc => N_("UUID of the system"), :required => true
|
43
|
+
def deb_package_profile
|
44
|
+
upload_profiles
|
45
|
+
end
|
46
|
+
|
32
47
|
def find_host(uuid = nil)
|
33
48
|
params = request.path_parameters
|
34
49
|
uuid ||= params[:id]
|
@@ -50,5 +65,9 @@ module Katello
|
|
50
65
|
authorized = (User.current.uuid == @host.subscription_facet.uuid) if @host && User.consumer?
|
51
66
|
authorized
|
52
67
|
end
|
68
|
+
|
69
|
+
def deprecated
|
70
|
+
::Foreman::Deprecation.api_deprecation_warning("it will be removed in Katello 3.15 - please use /consumers/:id/profiles instead.")
|
71
|
+
end
|
53
72
|
end
|
54
73
|
end
|
@@ -185,8 +185,8 @@ module Katello
|
|
185
185
|
end
|
186
186
|
param :id, String, :desc => N_("UUID of the system"), :required => true
|
187
187
|
def enabled_repos
|
188
|
-
repos_params = params
|
189
|
-
|
188
|
+
repos_params = params.dig('enabled_repos', 'repos')
|
189
|
+
fail(HttpErrors::BadRequest, _("The request did not contain any repository information.")) if repos_params.nil?
|
190
190
|
|
191
191
|
result = nil
|
192
192
|
User.as_anonymous_admin do
|
@@ -12,7 +12,7 @@ module Katello
|
|
12
12
|
:subscriptions]
|
13
13
|
before_action :authorize
|
14
14
|
|
15
|
-
wrap_parameters :include => (ActivationKey.attribute_names + %w(host_collection_ids service_level auto_attach content_view_environment))
|
15
|
+
wrap_parameters :include => (ActivationKey.attribute_names + %w(host_collection_ids service_level auto_attach purpose_role purpose_usage purpose_addons content_view_environment))
|
16
16
|
|
17
17
|
api :GET, "/activation_keys", N_("List activation keys")
|
18
18
|
api :GET, "/environments/:environment_id/activation_keys"
|
@@ -22,6 +22,7 @@ module Katello
|
|
22
22
|
param :content_view_id, :number, :desc => N_("content view identifier")
|
23
23
|
param :name, String, :desc => N_("activation key name to filter by")
|
24
24
|
param_group :search, Api::V2::ApiController
|
25
|
+
add_scoped_search_description_for(ActivationKey)
|
25
26
|
def index
|
26
27
|
activation_key_includes = [:content_view, :environment, :host_collections, :organization]
|
27
28
|
respond(:collection => scoped_search(index_relation.distinct, :name, :asc, :includes => activation_key_includes))
|
@@ -36,6 +37,9 @@ module Katello
|
|
36
37
|
param :content_view_id, :number, :desc => N_("content view id")
|
37
38
|
param :max_hosts, :number, :desc => N_("maximum number of registered content hosts")
|
38
39
|
param :unlimited_hosts, :bool, :desc => N_("can the activation key have unlimited hosts")
|
40
|
+
param :purpose_usage, String, :desc => N_("Sets the system purpose usage")
|
41
|
+
param :purpose_role, String, :desc => N_("Sets the system purpose usage")
|
42
|
+
param :purpose_addons, Array, :desc => N_("Sets the system add-ons")
|
39
43
|
def create
|
40
44
|
@activation_key = ActivationKey.new(activation_key_params) do |activation_key|
|
41
45
|
activation_key.environment = @environment if @environment
|
@@ -59,6 +63,9 @@ module Katello
|
|
59
63
|
param :release_version, String, :desc => N_("content release version")
|
60
64
|
param :service_level, String, :desc => N_("service level")
|
61
65
|
param :auto_attach, :bool, :desc => N_("auto attach subscriptions upon registration")
|
66
|
+
param :purpose_usage, String, :desc => N_("Sets the system purpose usage")
|
67
|
+
param :purpose_role, String, :desc => N_("Sets the system purpose usage")
|
68
|
+
param :purpose_addons, Array, :desc => N_("Sets the system add-ons")
|
62
69
|
def update
|
63
70
|
sync_task(::Actions::Katello::ActivationKey::Update, @activation_key, activation_key_params)
|
64
71
|
respond_for_show(:resource => @activation_key)
|
@@ -304,24 +311,34 @@ module Katello
|
|
304
311
|
end
|
305
312
|
end
|
306
313
|
|
314
|
+
def permitted_params
|
315
|
+
params.require(:activation_key).permit(:name,
|
316
|
+
:description,
|
317
|
+
:environment_id,
|
318
|
+
:organization_id,
|
319
|
+
:content_view_id,
|
320
|
+
:release_version,
|
321
|
+
:service_level,
|
322
|
+
:auto_attach,
|
323
|
+
:max_hosts,
|
324
|
+
:unlimited_hosts,
|
325
|
+
:purpose_role,
|
326
|
+
:purpose_usage,
|
327
|
+
:purpose_addon_ids,
|
328
|
+
# For deep_munge; Remove for Rails 5
|
329
|
+
:host_collection_ids,
|
330
|
+
:content_overrides => [],
|
331
|
+
:host_collection_ids => []).to_h
|
332
|
+
end
|
333
|
+
|
307
334
|
def activation_key_params
|
308
|
-
key_params =
|
309
|
-
:description,
|
310
|
-
:environment_id,
|
311
|
-
:organization_id,
|
312
|
-
:content_view_id,
|
313
|
-
:release_version,
|
314
|
-
:service_level,
|
315
|
-
:auto_attach,
|
316
|
-
:max_hosts,
|
317
|
-
:unlimited_hosts,
|
318
|
-
# For deep_munge; Remove for Rails 5
|
319
|
-
:host_collection_ids,
|
320
|
-
:content_overrides => [],
|
321
|
-
:host_collection_ids => []).to_h
|
335
|
+
key_params = permitted_params
|
322
336
|
|
323
337
|
key_params[:environment_id] = params[:environment][:id] if params[:environment].try(:[], :id)
|
324
338
|
key_params[:content_view_id] = params[:content_view][:id] if params[:content_view].try(:[], :id)
|
339
|
+
unless params[:purpose_addons].nil?
|
340
|
+
key_params[:purpose_addon_ids] = params[:purpose_addons].map { |addon| ::Katello::PurposeAddon.find_or_create_by(name: addon).id }
|
341
|
+
end
|
325
342
|
unlimited = params[:activation_key].try(:[], :unlimited_hosts)
|
326
343
|
max_hosts = params[:activation_key].try(:[], :max_hosts)
|
327
344
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Katello
|
2
|
+
class Api::V2::AnsibleCollectionsController < Api::V2::ApiController
|
3
|
+
resource_description do
|
4
|
+
name 'Ansible Collections'
|
5
|
+
end
|
6
|
+
apipie_concern_subst(:a_resource => N_("an ansible collection"), :resource_id => "ansible_collections")
|
7
|
+
include Katello::Concerns::Api::V2::RepositoryContentController
|
8
|
+
|
9
|
+
def default_sort
|
10
|
+
%w(name asc)
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def repo_association
|
16
|
+
:repository_id
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -13,6 +13,7 @@ module Katello
|
|
13
13
|
param :content_view_id, :number, :desc => N_("content view identifier"), :required => true
|
14
14
|
param :name, String, :desc => N_("filter content view filters by name")
|
15
15
|
param :types, Array, :desc => N_("types of filters")
|
16
|
+
add_scoped_search_description_for(ContentViewFilter)
|
16
17
|
def index
|
17
18
|
respond(:collection => scoped_search(index_relation.distinct, :name, :asc))
|
18
19
|
end
|
@@ -61,6 +62,8 @@ module Katello
|
|
61
62
|
"(package filter only)")
|
62
63
|
param :inclusion, :bool, :desc => N_("specifies if content should be included or excluded, default: inclusion=false")
|
63
64
|
param :repository_ids, Array, :desc => N_("list of repository ids")
|
65
|
+
param :description, String, :desc => N_("description of the filter"), :required => false
|
66
|
+
|
64
67
|
def update
|
65
68
|
@filter.update_attributes!(filter_params)
|
66
69
|
respond :resource => @filter
|
@@ -11,6 +11,7 @@ module Katello
|
|
11
11
|
param :author, String, :desc => N_("author of the puppet module")
|
12
12
|
param :uuid, String, :desc => N_("uuid of the puppet module"), :deprecated => true
|
13
13
|
param_group :search, ::Katello::Api::V2::ApiController
|
14
|
+
add_scoped_search_description_for(ContentViewPuppetModule)
|
14
15
|
def index
|
15
16
|
respond(:collection => scoped_search(index_relation.distinct, :name, :asc))
|
16
17
|
end
|
@@ -22,6 +22,7 @@ module Katello
|
|
22
22
|
param :organization_id, :number, :desc => N_("Organization identifier")
|
23
23
|
param :triggered_by_id, :number, :desc => N_("Filter composite versions whose publish was triggered by the specified component version"), :required => false
|
24
24
|
param_group :search, Api::V2::ApiController
|
25
|
+
add_scoped_search_description_for(ContentViewVersion)
|
25
26
|
def index
|
26
27
|
options = {
|
27
28
|
:includes => [:content_view, :environments, :composite_content_views, :history => :task]
|
@@ -32,6 +32,7 @@ module Katello
|
|
32
32
|
param :without, Array, :desc => N_("Do not include this array of content views")
|
33
33
|
param :name, String, :desc => N_("Name of the content view"), :required => false
|
34
34
|
param_group :search, Api::V2::ApiController
|
35
|
+
add_scoped_search_description_for(ContentView)
|
35
36
|
def index
|
36
37
|
content_view_includes = [:activation_keys, :content_view_puppet_modules, :content_view_versions,
|
37
38
|
:environments, :organization, :repositories]
|
@@ -49,6 +49,7 @@ module Katello
|
|
49
49
|
param :library, [true, false], :desc => N_("set true if you want to see only library environments")
|
50
50
|
param :name, String, :desc => N_("filter only environments containing this name")
|
51
51
|
param_group :search, Api::V2::ApiController
|
52
|
+
add_scoped_search_description_for(KTEnvironment)
|
52
53
|
def index
|
53
54
|
respond(:collection => scoped_search(index_relation.distinct, :name, :asc, :resource_class => KTEnvironment))
|
54
55
|
end
|
@@ -20,6 +20,7 @@ module Katello
|
|
20
20
|
param :errata_restrict_installable, :bool, :desc => N_("Return errata that are upgradable on one or more hosts")
|
21
21
|
param :available_for, String, :desc => N_("Return errata that can be added to the specified object. The values 'content_view_version' and 'content_view_filter are supported.")
|
22
22
|
param_group :search, Api::V2::ApiController
|
23
|
+
add_scoped_search_description_for(Erratum)
|
23
24
|
def index
|
24
25
|
super
|
25
26
|
end
|
@@ -42,7 +43,7 @@ module Katello
|
|
42
43
|
collection = collection.where("#{date_type} >= ?", params[:start_date]) if params[:start_date]
|
43
44
|
collection = collection.where("#{date_type} <= ?", params[:end_date]) if params[:end_date]
|
44
45
|
collection = collection.of_type(params[:types]) if params[:types]
|
45
|
-
collection
|
46
|
+
collection.non_modular
|
46
47
|
end
|
47
48
|
|
48
49
|
def custom_index_relation(collection)
|
@@ -24,6 +24,7 @@ module Katello
|
|
24
24
|
param :organization_id, :number, :desc => N_("organization identifier"), :required => true
|
25
25
|
param :name, String, :desc => N_("name of the GPG key"), :required => false
|
26
26
|
param_group :search, Api::V2::ApiController
|
27
|
+
add_scoped_search_description_for(GpgKey)
|
27
28
|
def index
|
28
29
|
respond(:collection => scoped_search(index_relation.distinct, :name, :asc))
|
29
30
|
end
|
@@ -33,6 +33,7 @@ module Katello
|
|
33
33
|
param :host_id, :number, :desc => N_("Filter products by host id")
|
34
34
|
param :available_for, String, :required => false,
|
35
35
|
:desc => N_("Interpret specified object to return only Host Collections that can be associated with specified object. The value 'host' is supported.")
|
36
|
+
add_scoped_search_description_for(HostCollection)
|
36
37
|
def index
|
37
38
|
respond(:collection => scoped_search(index_relation.distinct, :name, :asc))
|
38
39
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Katello
|
2
|
+
class Api::V2::HostDebsController < Api::V2::ApiController
|
3
|
+
include Katello::Concerns::FilteredAutoCompleteSearch
|
4
|
+
|
5
|
+
before_action :find_host
|
6
|
+
|
7
|
+
resource_description do
|
8
|
+
api_version 'v2'
|
9
|
+
api_base_url "/api"
|
10
|
+
end
|
11
|
+
|
12
|
+
api :GET, "/hosts/:host_id/debs", N_("List deb packages installed on the host")
|
13
|
+
param :host_id, :number, :required => true, :desc => N_("ID of the host")
|
14
|
+
param_group :search, Api::V2::ApiController
|
15
|
+
def index
|
16
|
+
collection = scoped_search(index_relation, :name, :asc, :resource_class => ::Katello::InstalledDeb)
|
17
|
+
respond_for_index(:collection => collection)
|
18
|
+
end
|
19
|
+
|
20
|
+
def index_relation
|
21
|
+
@host.installed_debs
|
22
|
+
end
|
23
|
+
|
24
|
+
def resource_class
|
25
|
+
Katello::InstalledDeb
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def find_host
|
31
|
+
@host = resource_finder(::Host::Managed.authorized(:view_hosts, ::Host::Managed), params[:host_id])
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -17,6 +17,18 @@ module Katello
|
|
17
17
|
Erratum
|
18
18
|
end
|
19
19
|
|
20
|
+
def_param_group :bulk_errata_ids do
|
21
|
+
param :included, Hash, :desc => N_("Errata to exclusively include in the action"), :required => true, :action_aware => true do
|
22
|
+
param :search, String, :required => false, :desc => N_("Search string for erratum to perform an action on")
|
23
|
+
param :ids, Array, :required => false, :desc => N_("List of errata ids to perform an action on, (ex: RHSA-2019:1168)")
|
24
|
+
end
|
25
|
+
param :excluded, Hash, :desc => N_("Errata to explicitly exclude in the action."\
|
26
|
+
" All other applicable errata will be included in the action,"\
|
27
|
+
" unless an included parameter is passed as well."), :required => true, :action_aware => true do
|
28
|
+
param :ids, Array, :required => false, :desc => N_("List of errata ids to exclude and not run an action on, (ex: RHSA-2019:1168)")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
20
32
|
api :GET, "/hosts/:host_id/errata", N_("List errata available for the content host")
|
21
33
|
param :host_id, :number, :desc => N_("UUID of the content host"), :required => true
|
22
34
|
param :content_view_id, :number, :desc => N_("Calculate Applicable Errata based on a particular Content View"), :required => false
|
@@ -39,9 +51,11 @@ module Katello
|
|
39
51
|
|
40
52
|
api :PUT, "/hosts/:host_id/errata/apply", N_("Schedule errata for installation")
|
41
53
|
param :host_id, :number, :desc => N_("Host ID"), :required => true
|
42
|
-
param :errata_ids, Array, :desc => N_("List of Errata ids to install"), :required => true
|
54
|
+
param :errata_ids, Array, :desc => N_("List of Errata ids to install"), :required => false, :deprecated => true
|
55
|
+
|
56
|
+
param_group :bulk_errata_ids
|
43
57
|
def apply
|
44
|
-
task = async_task(::Actions::Katello::Host::Erratum::Install, @host,
|
58
|
+
task = async_task(::Actions::Katello::Host::Erratum::Install, @host, @errata_ids)
|
45
59
|
respond_for_async :resource => task
|
46
60
|
end
|
47
61
|
|
@@ -61,6 +75,34 @@ module Katello
|
|
61
75
|
respond_for_async :resource => task
|
62
76
|
end
|
63
77
|
|
78
|
+
def find_bulk_errata_ids(bulk_params)
|
79
|
+
#works on a structure of param_group bulk_params and transforms it into a list of errata_ids
|
80
|
+
bulk_params[:included] ||= {}
|
81
|
+
bulk_params[:excluded] ||= {}
|
82
|
+
@errata = []
|
83
|
+
|
84
|
+
unless bulk_params[:included][:ids].blank?
|
85
|
+
@errata = @host.content_facet.installable_errata.where(:errata_id => bulk_params[:included][:ids])
|
86
|
+
end
|
87
|
+
|
88
|
+
if bulk_params[:included][:search]
|
89
|
+
search_errata = @host.content_facet.installable_errata
|
90
|
+
search_errata = search_errata.search_for(bulk_params[:included][:search])
|
91
|
+
if @errata.any?
|
92
|
+
@errata = ::Katello::Erratum.where(errata_id: @errata).or(::Katello::Erratum.where(errata_id: search_errata))
|
93
|
+
else
|
94
|
+
@errata = search_errata
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
@errata = @errata.where.not(errata_id: bulk_params[:excluded][:ids]) unless @errata.empty? || bulk_params[:excluded][:ids].blank?
|
99
|
+
|
100
|
+
if bulk_params[:included][:ids].blank? && bulk_params[:included][:search].nil?
|
101
|
+
fail HttpErrors::BadRequest, _("No errata has been specified.")
|
102
|
+
end
|
103
|
+
@errata.pluck(:errata_id)
|
104
|
+
end
|
105
|
+
|
64
106
|
protected
|
65
107
|
|
66
108
|
def index_relation
|
@@ -94,8 +136,13 @@ module Katello
|
|
94
136
|
end
|
95
137
|
|
96
138
|
def find_errata_ids
|
97
|
-
|
98
|
-
|
139
|
+
if params[:errata_ids]
|
140
|
+
missing = params[:errata_ids] - Erratum.where(:errata_id => params[:errata_ids]).pluck(:errata_id)
|
141
|
+
fail HttpErrors::NotFound, _("Couldn't find errata ids '%s'") % missing.to_sentence if missing.any?
|
142
|
+
@errata_ids = params[:errata_ids]
|
143
|
+
else
|
144
|
+
@errata_ids = find_bulk_errata_ids(params[:bulk_errata_ids])
|
145
|
+
end
|
99
146
|
end
|
100
147
|
end
|
101
148
|
end
|
@@ -20,6 +20,7 @@ module Katello
|
|
20
20
|
api :GET, "/hosts/:host_id/packages", N_("List packages installed on the host")
|
21
21
|
param :host_id, :number, :required => true, :desc => N_("ID of the host")
|
22
22
|
param_group :search, Api::V2::ApiController
|
23
|
+
add_scoped_search_description_for(Katello::InstalledPackage)
|
23
24
|
def index
|
24
25
|
collection = scoped_search(index_relation, :name, :asc, :resource_class => ::Katello::InstalledPackage)
|
25
26
|
respond_for_index(:collection => collection)
|
@@ -11,6 +11,7 @@ module Katello
|
|
11
11
|
param :host_ids, Array, :desc => N_("List of host id to list available module streams for")
|
12
12
|
param :name_stream_only, :boolean, :desc => N_("Return name and stream information only)")
|
13
13
|
end
|
14
|
+
add_scoped_search_description_for(ModuleStream)
|
14
15
|
def index
|
15
16
|
if @name_stream_only
|
16
17
|
sort_by, sort_order, options = sort_options
|
@@ -41,6 +41,7 @@ module Katello
|
|
41
41
|
|
42
42
|
api :GET, '/organizations', N_('List all organizations')
|
43
43
|
param_group :search, Api::V2::ApiController
|
44
|
+
add_scoped_search_description_for(Organization)
|
44
45
|
def index
|
45
46
|
@render_template = 'katello/api/v2/organizations/index'
|
46
47
|
super
|
@@ -70,9 +71,6 @@ module Katello
|
|
70
71
|
end
|
71
72
|
|
72
73
|
api :POST, '/organizations', N_('Create organization')
|
73
|
-
param :name, String, :desc => N_("name"), :required => true
|
74
|
-
param :label, String, :desc => N_("unique label")
|
75
|
-
param :description, String, :desc => N_("description")
|
76
74
|
param_group :resource
|
77
75
|
def create
|
78
76
|
@organization = Organization.new(resource_params)
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module Katello
|
2
2
|
class Api::V2::ProductsBulkActionsController < Api::V2::ApiController
|
3
3
|
before_action :find_products
|
4
|
+
before_action :find_optional_proxy, :only => :update_http_proxy
|
4
5
|
|
5
6
|
api :PUT, "/products/bulk/destroy", N_("Destroy one or more products")
|
6
7
|
param :ids, Array, :desc => N_("List of product ids"), :required => true
|
@@ -49,6 +50,19 @@ module Katello
|
|
49
50
|
respond_for_async :resource => task
|
50
51
|
end
|
51
52
|
|
53
|
+
api :PUT, "/products/bulk/http_proxy", N_("Update the http proxy configuration on the repositories of one or more products.")
|
54
|
+
param :ids, Array, :desc => N_("List of product ids"), :required => true
|
55
|
+
param :http_proxy_policy, ::Katello::RootRepository::HTTP_PROXY_POLICIES, :desc => N_("policy for http proxy for content sync")
|
56
|
+
param :http_proxy_id, :number, :desc => N_("Http Proxy identifier to associated"), :required => false
|
57
|
+
def update_http_proxy
|
58
|
+
task = async_task(::Actions::Katello::Product::UpdateHttpProxy,
|
59
|
+
@products.editable,
|
60
|
+
params[:http_proxy_policy],
|
61
|
+
@http_proxy)
|
62
|
+
|
63
|
+
respond_for_async :resource => task
|
64
|
+
end
|
65
|
+
|
52
66
|
api :PUT, "/products/bulk/sync_plan", N_("Sync one or more products")
|
53
67
|
param :ids, Array, :desc => N_("List of product ids"), :required => true
|
54
68
|
param :plan_id, :number, :desc => N_("Sync plan identifier to attach"), :required => true
|
@@ -72,6 +86,10 @@ module Katello
|
|
72
86
|
|
73
87
|
private
|
74
88
|
|
89
|
+
def find_optional_proxy
|
90
|
+
@http_proxy = ::HttpProxy.find(params[:http_proxy_id]) if params[:http_proxy_id]
|
91
|
+
end
|
92
|
+
|
75
93
|
def find_products
|
76
94
|
params.require(:ids)
|
77
95
|
@products = Product.where(:id => params[:ids])
|