katello 4.3.0.rc1 → 4.3.0.rc4
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/v2/api_controller.rb +4 -0
- data/app/controllers/katello/api/v2/capsule_content_controller.rb +11 -3
- data/app/controllers/katello/api/v2/content_uploads_controller.rb +1 -1
- data/app/controllers/katello/api/v2/generic_content_units_controller.rb +10 -4
- data/app/controllers/katello/api/v2/host_errata_controller.rb +5 -0
- data/app/controllers/katello/api/v2/host_packages_controller.rb +2 -0
- data/app/controllers/katello/api/v2/host_tracer_controller.rb +4 -0
- data/app/controllers/katello/api/v2/repositories_bulk_actions_controller.rb +8 -0
- data/app/controllers/katello/api/v2/repositories_controller.rb +35 -3
- data/app/controllers/katello/api/v2/repository_sets_controller.rb +2 -2
- data/app/controllers/katello/api/v2/root_controller.rb +10 -19
- data/app/controllers/katello/concerns/api/v2/bulk_extensions.rb +3 -13
- data/app/controllers/katello/concerns/api/v2/registration_controller_extensions.rb +1 -9
- data/app/controllers/katello/remote_execution_controller.rb +1 -1
- data/app/lib/actions/katello/capsule_content/refresh_repos.rb +1 -1
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +7 -5
- data/app/lib/actions/katello/repository/destroy.rb +3 -3
- data/app/lib/actions/katello/repository/import_upload.rb +12 -2
- data/app/lib/actions/pulp/repository/sync.rb +0 -2
- data/app/lib/actions/pulp3/abstract_async_task.rb +16 -4
- data/app/lib/actions/pulp3/capsule_content/generate_metadata.rb +5 -4
- data/app/lib/actions/pulp3/capsule_content/reclaim_space.rb +25 -0
- data/app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb +36 -0
- data/app/lib/actions/pulp3/orchestration/repository/import_upload.rb +1 -1
- data/app/lib/actions/pulp3/repository/commit_upload.rb +3 -1
- data/app/lib/actions/pulp3/repository/import_upload.rb +4 -2
- data/app/lib/actions/pulp3/repository/reclaim_space.rb +25 -0
- data/app/lib/actions/pulp3/repository/save_artifact.rb +12 -8
- data/app/lib/katello/resources/cdn.rb +10 -1
- data/app/lib/katello/resources/registry.rb +1 -1
- data/app/models/katello/concerns/host_managed_extensions.rb +7 -4
- data/app/models/katello/concerns/smart_proxy_extensions.rb +21 -9
- data/app/models/katello/content_view_version.rb +1 -6
- data/app/models/katello/glue/pulp/repo.rb +1 -2
- data/app/models/katello/host_tracer.rb +2 -0
- data/app/models/katello/pulp3/repository_reference.rb +7 -0
- data/app/models/katello/repository.rb +2 -30
- data/app/models/katello/root_repository.rb +3 -44
- data/app/models/setting/content.rb +2 -8
- data/app/presenters/katello/host_package_presenter.rb +21 -0
- data/app/services/katello/bulk_items_helper.rb +35 -0
- data/app/services/katello/pulp3/api/core.rb +16 -2
- data/app/services/katello/pulp3/content.rb +4 -2
- data/app/services/katello/pulp3/pulp_content_unit.rb +9 -3
- data/app/services/katello/pulp3/repository.rb +9 -4
- data/app/services/katello/pulp3/repository_mirror.rb +1 -1
- data/app/services/katello/repository_type.rb +2 -1
- data/app/services/katello/smart_proxy_helper.rb +10 -1
- data/app/views/foreman/job_templates/change_content_source.erb +42 -0
- data/app/views/foreman/job_templates/install_errata.erb +8 -6
- data/app/views/foreman/job_templates/resolve_traces.erb +4 -5
- data/app/views/foreman/job_templates/resolve_traces_-_katello_ansible_default.erb +3 -5
- data/app/views/foreman/smart_proxies/_content_sync.html.erb +17 -4
- data/app/views/foreman/smart_proxies/_reclaim_space.html.erb +12 -0
- data/app/views/foreman/smart_proxies/show.html.erb +4 -2
- data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +6 -0
- data/app/views/katello/api/v2/{organizations/cdn_configuration.rabl → cdn_configurations/show.json.rabl} +4 -0
- data/app/views/katello/api/v2/content_facet/show.json.rabl +8 -0
- data/app/views/katello/api/v2/content_view_filters/show.json.rabl +0 -1
- data/app/views/katello/api/v2/content_views/base.json.rabl +1 -1
- data/app/views/katello/api/v2/host_packages/base.json.rabl +2 -0
- data/app/views/katello/api/v2/organizations/show.json.rabl +1 -1
- data/app/views/katello/api/v2/repositories/show.json.rabl +0 -3
- data/config/routes/api/v2.rb +5 -10
- data/db/migrate/20210331180353_katello_pool_organization_id_not_nullable.rb +2 -0
- data/db/migrate/20211115215210_drop_ostree_branches.rb +13 -0
- data/db/migrate/20211129200124_remove_dependency_solving_algorithm_setting.rb +5 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +1 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.controller.js +21 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.factory.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/sync-state.service.js +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +0 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +0 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +0 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-versions.module.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +0 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/content.service.js +0 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.module.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.routes.js +0 -11
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +1 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js +14 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +2 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.filter.js +0 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-reclaim-space-modal.controller.js +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +16 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details-reclaim-space-modal.html +18 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +13 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +3 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +4 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/os-versions.service.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/product-repositories-reclaim-space-modal.controller.js +35 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +0 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository.factory.js +3 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories-reclaim-space-modal.html +18 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +7 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/pulp-primary/pulp-primary.controller.js +35 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/pulp-primary/pulp-primary.factory.js +18 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/pulp-primary/pulp-primary.module.js +14 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/pulp-primary/pulp-primary.routes.js +16 -0
- data/engines/bastion_katello/lib/bastion_katello/engine.rb +0 -1
- data/lib/katello/permission_creator.rb +3 -4
- data/lib/katello/plugin.rb +4 -10
- data/lib/katello/repository_types/ostree.rb +3 -1
- data/lib/katello/tasks/reset.rake +2 -2
- data/lib/katello/tasks/upgrades/4.3/fix_url_auth.rake +25 -0
- data/lib/katello/version.rb +1 -1
- data/package.json +1 -0
- data/webpack/components/AddedStatusLabel.js +2 -1
- data/webpack/components/EditableTextInput/EditableTextInput.js +76 -17
- data/webpack/components/EditableTextInput/__tests__/editableTextInput.test.js +82 -0
- data/webpack/components/EditableTextInput/editableTextInput.scss +4 -0
- data/webpack/components/Packages/index.js +63 -0
- data/webpack/components/RoutedTabs/index.js +3 -1
- data/webpack/components/Search/Search.js +7 -1
- data/webpack/components/SelectAllCheckbox/index.js +2 -2
- data/webpack/components/Table/EmptyStateMessage.js +4 -2
- data/webpack/components/Table/MainTable.scss +7 -1
- data/webpack/components/Table/TableHooks.js +10 -19
- data/webpack/components/Table/TableWrapper.js +3 -3
- data/webpack/components/WithOrganization/__snapshots__/withOrganization.test.js.snap +3 -3
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard.js +24 -30
- data/webpack/components/extensions/HostDetails/HostDetailsConstants.js +1 -0
- data/webpack/components/extensions/HostDetails/HostDetailsSelectors.js +16 -0
- data/webpack/components/extensions/HostDetails/HostErrata/HostErrataConstants.js +2 -0
- data/webpack/components/extensions/HostDetails/HostPackages/HostPackagesActions.js +11 -0
- data/webpack/components/extensions/HostDetails/HostPackages/HostPackagesConstants.js +2 -0
- data/webpack/components/extensions/HostDetails/HostPackages/HostPackagesSelectors.js +16 -0
- data/webpack/components/extensions/HostDetails/Tabs/ContentTab/SecondaryTabsRoutes.js +4 -0
- data/webpack/components/extensions/HostDetails/Tabs/ContentTab/constants.js +1 -0
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab.js +119 -25
- data/webpack/components/extensions/HostDetails/Tabs/HostTracesConstants.js +1 -0
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab.js +127 -0
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab.scss +11 -0
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionActions.js +30 -4
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionConstants.js +1 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsActions.js +73 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsConstants.js +2 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsSelectors.js +16 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +347 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.scss +7 -0
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab.js +38 -31
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/bookmarks.fixtures.json +12 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/contentOverrides.fixtures.json +227 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +423 -2
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packages.fixtures.json +28 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +91 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySets.fixtures.json +120 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +307 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/resolveErrata.fixtures.json +35 -0
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +55 -9
- data/webpack/components/extensions/HostDetails/Tabs/customizedRexUrlHelpers.js +28 -14
- data/webpack/containers/Application/overrides.scss +31 -9
- data/webpack/global_index.js +11 -4
- data/webpack/redux/reducers/RedHatRepositories/enabled.fixtures.js +0 -2
- data/webpack/scenes/Content/ContentConfig.js +23 -7
- data/webpack/scenes/Content/Details/__tests__/contentDetail.test.js +2 -0
- data/webpack/scenes/ContentCredentials/ContentCredentialActions.js +18 -0
- data/webpack/scenes/ContentCredentials/ContentCredentialConstants.js +2 -0
- data/webpack/scenes/ContentCredentials/ContentCredentialSelectors.js +12 -0
- data/webpack/scenes/ContentCredentials/__tests__/contentCredentials.fixtures.js +73 -0
- data/webpack/scenes/ContentViews/Copy/CopyContentViewForm.js +8 -12
- data/webpack/scenes/ContentViews/Copy/CopyContentViewModal.js +1 -1
- data/webpack/scenes/ContentViews/Copy/__tests__/copyContentView.test.js +1 -1
- data/webpack/scenes/ContentViews/Create/ContentViewFormComponents.js +3 -3
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +7 -2
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.scss +7 -0
- data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +9 -9
- data/webpack/scenes/ContentViews/Delete/ContentViewDeleteWizard.js +6 -6
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeleteEnvironmentsSelection.js +39 -37
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionFinish.js +10 -4
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReview.js +35 -33
- data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +12 -7
- data/webpack/scenes/ContentViews/Delete/__tests__/cvVersionsData.fixtures.json +2 -6
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentEnvironments.js +13 -14
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +36 -31
- data/webpack/scenes/ContentViews/Details/ContentViewDetailActions.js +8 -8
- data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +108 -41
- data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +3 -2
- data/webpack/scenes/ContentViews/Details/Filters/Add/CVFilterAddModal.js +2 -2
- data/webpack/scenes/ContentViews/Details/Filters/Add/__tests__/cvFilterCreateResult.fixtures.json +1 -2
- data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +1 -4
- data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +6 -6
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +11 -5
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +6 -9
- data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +5 -8
- data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +40 -43
- data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +2 -2
- data/webpack/scenes/ContentViews/Details/Filters/ContentType.js +4 -4
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +6 -8
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +6 -1
- data/webpack/scenes/ContentViews/Details/Filters/Rules/ContainerTag/AddEditContainerTagRuleModal.js +1 -1
- data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +16 -22
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +8 -8
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/ContentViewPackageGroupFilter.test.js +3 -5
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewErrataByDateDetails.fixtures.json +1 -8
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetail.fixtures.json +1 -2
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +5 -9
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvAllRepos.fixtures.json +0 -2
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataDateFilterContent.test.js +1 -9
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +2 -4
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErratumFilterDetails.fixtures.json +1 -2
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailModuleAffectedRepos.fixtures.json +1 -8
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailWithAffectedRepos.fixtures.json +1 -8
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilter.test.js +2 -4
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilterDetails.fixtures.json +1 -2
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvPackageFilterDetail.fixtures.json +1 -3
- data/webpack/scenes/ContentViews/Details/Promote/ContentViewVersionPromote.js +61 -32
- data/webpack/scenes/ContentViews/Details/Repositories/ContentCounts.js +6 -1
- data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +5 -8
- data/webpack/scenes/ContentViews/Details/Repositories/LastSync.js +55 -9
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +2 -0
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewDetailRepos.fixtures.json +0 -2
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionContent.js +48 -29
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionEnvironments.js +2 -2
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionErrata.js +9 -7
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionErrata.scss +5 -2
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +38 -9
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveCVVersionWizard.js +4 -1
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVEnvironmentSelectionForm.js +59 -53
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionDeleteFinish.js +14 -3
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +24 -17
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +3 -3
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/versionsResponseData.fixtures.json +1 -4
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetails.js +4 -2
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsHeader.js +134 -32
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionRepositoryCell.js +8 -3
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionComponent.fixtures.json +1 -4
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.fixtures.json +1 -2
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +21 -1
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsCounts.fixtures.json +1 -2
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsEmpty.test.js +22 -1
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionRepositories.fixtures.json +1 -18
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.fixtures.json +5 -5
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +2 -0
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersionsWithTask.fixtures.json +1 -3
- data/webpack/scenes/ContentViews/Details/contentViewInfo.scss +0 -4
- data/webpack/scenes/ContentViews/Publish/CVPublishForm.js +66 -53
- data/webpack/scenes/ContentViews/Publish/CVPublishReview.js +40 -28
- data/webpack/scenes/ContentViews/Publish/PublishContentViewWizard.js +3 -3
- data/webpack/scenes/ContentViews/Publish/__tests__/publishContentView.test.js +14 -14
- data/webpack/scenes/ContentViews/Publish/cvPublishForm.scss +6 -0
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +53 -12
- data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +12 -6
- data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +6 -6
- data/webpack/scenes/ContentViews/components/ContentViewIcon.js +12 -7
- data/webpack/scenes/ContentViews/components/ContentViewsCounter.js +2 -2
- data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.js +26 -27
- data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.scss +18 -6
- data/webpack/scenes/ContentViews/components/WizardHeader.js +44 -0
- data/webpack/scenes/ContentViews/components/contentViewIcon.scss +13 -2
- data/webpack/scenes/Organizations/OrganizationActions.js +22 -24
- data/webpack/scenes/Organizations/OrganizationConstants.js +1 -3
- data/webpack/scenes/Organizations/OrganizationReducer.js +0 -7
- data/webpack/scenes/Organizations/OrganizationSelectors.js +16 -0
- data/webpack/scenes/Organizations/__tests__/OrganizationActions.test.js +1 -21
- data/webpack/scenes/Organizations/__tests__/OrganizationReducer.test.js +0 -20
- data/webpack/scenes/Organizations/__tests__/organizations.fixtures.js +34 -23
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationForm.js +185 -0
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationForm.scss +3 -0
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +112 -146
- data/webpack/scenes/Subscriptions/Manifest/__tests__/CdnConfigurationForm.test.js +114 -0
- data/webpack/scenes/Subscriptions/Manifest/__tests__/ManageManifestModal.test.js +121 -31
- data/webpack/scenes/Subscriptions/Manifest/index.js +14 -3
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsActions.test.js.snap +1 -0
- data/webpack/scenes/Tasks/TaskActions.js +4 -3
- data/webpack/scenes/Tasks/__tests__/__snapshots__/TaskActions.test.js.snap +1 -0
- data/webpack/utils/helpers.js +2 -2
- metadata +62 -43
- data/app/controllers/katello/api/v2/ostree_branches_controller.rb +0 -16
- data/app/lib/actions/pulp/repository/presenters/ostree_presenter.rb +0 -91
- data/app/models/katello/ostree_branch.rb +0 -12
- data/app/models/katello/repository_ostree_branch.rb +0 -7
- data/app/services/katello/pulp/ostree_branch.rb +0 -14
- data/app/services/katello/pulp/repository/ostree.rb +0 -48
- data/app/views/katello/api/v2/ostree_branches/compare.json.rabl +0 -10
- data/app/views/katello/api/v2/ostree_branches/index.json.rabl +0 -7
- data/app/views/katello/api/v2/ostree_branches/show.json.rabl +0 -5
- data/app/views/katello/api/v2/root/resource_list.json.rabl +0 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-ostree-branches.html +0 -26
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-ostree.html +0 -27
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/ostree-branch-repositories.controller.js +0 -77
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/ostree-branch.controller.js +0 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch-info.html +0 -15
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch-repositories.html +0 -72
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch.html +0 -30
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branch.factory.js +0 -27
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.controller.js +0 -67
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.module.js +0 -15
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.routes.js +0 -50
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/views/ostree-branches.html +0 -40
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-ostree-branches.html +0 -40
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/ostree-upstream-sync-policy.service.js +0 -26
- data/webpack/components/extensions/HostDetails/Tabs/SubscriptionTab.js +0 -12
- data/webpack/scenes/Content/Details/ContentCounts.js +0 -42
- data/webpack/scenes/Subscriptions/Manifest/__tests__/SimpleContentAccess.test.js +0 -108
- data/webpack/scenes/Subscriptions/Manifest/__tests__/__snapshots__/ManageManifestModal.test.js.snap +0 -158
@@ -1,42 +0,0 @@
|
|
1
|
-
import React, { Fragment } from 'react';
|
2
|
-
import PropTypes from 'prop-types';
|
3
|
-
import { urlBuilder } from 'foremanReact/common/urlHelpers';
|
4
|
-
import ContentConfig from '../ContentConfig';
|
5
|
-
|
6
|
-
const appendCount = (type, count, info, productId, repoId) => {
|
7
|
-
const [repoPlural, repoSingular, link] = info;
|
8
|
-
const displayName = count > 1 ? repoPlural : repoSingular;
|
9
|
-
const url = urlBuilder(`products/${productId}/repositories/${repoId}/content`, '', link);
|
10
|
-
const displayInfo = `${count} ${displayName}`;
|
11
|
-
return (
|
12
|
-
<div key={`${type}${count}`}>
|
13
|
-
<a href={url}>{displayInfo}</a>
|
14
|
-
</div>
|
15
|
-
);
|
16
|
-
};
|
17
|
-
|
18
|
-
const ContentCounts = ({
|
19
|
-
typeSingularLabel, productId, repoId, counts,
|
20
|
-
}) => {
|
21
|
-
const config = ContentConfig().find(type =>
|
22
|
-
type.names.singularLabel === typeSingularLabel);
|
23
|
-
const { pluralLowercase, singularLowercase, pluralLabel } = config.names;
|
24
|
-
const info = [pluralLowercase, singularLowercase, pluralLabel];
|
25
|
-
|
26
|
-
const allCounts = [];
|
27
|
-
Object.keys(counts).forEach((type) => {
|
28
|
-
const count = counts[typeSingularLabel];
|
29
|
-
if (count > 0) allCounts.push(appendCount(type, count, info, productId, repoId));
|
30
|
-
});
|
31
|
-
|
32
|
-
return <Fragment>{allCounts}</Fragment>;
|
33
|
-
};
|
34
|
-
|
35
|
-
ContentCounts.propTypes = {
|
36
|
-
typeSingularLabel: PropTypes.string.isRequired,
|
37
|
-
productId: PropTypes.number.isRequired,
|
38
|
-
repoId: PropTypes.number.isRequired,
|
39
|
-
counts: PropTypes.shape({}).isRequired,
|
40
|
-
};
|
41
|
-
|
42
|
-
export default ContentCounts;
|
@@ -1,108 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { cleanup } from '@testing-library/react';
|
3
|
-
import { renderWithRedux, fireEvent, patientlyWaitFor } from 'react-testing-lib-wrapper';
|
4
|
-
import ManifestModal from '../../Manifest';
|
5
|
-
import { manifestHistorySuccessState, manifestHistorySuccessResponse } from './manifest.fixtures';
|
6
|
-
import { nockInstance, assertNockRequest } from '../../../../test-utils/nockWrapper';
|
7
|
-
import api from '../../../../services/api';
|
8
|
-
|
9
|
-
afterEach(cleanup);
|
10
|
-
|
11
|
-
const noop = jest.fn();
|
12
|
-
const organization = {
|
13
|
-
id: 1,
|
14
|
-
redhat_repository_url: 'https://redhat.com',
|
15
|
-
owner_details: {
|
16
|
-
upstreamConsumer: {
|
17
|
-
webUrl: 'https://example.com/',
|
18
|
-
},
|
19
|
-
},
|
20
|
-
};
|
21
|
-
|
22
|
-
const defaultProps = {
|
23
|
-
disableManifestActions: false,
|
24
|
-
disabledReason: '',
|
25
|
-
canImportManifest: true,
|
26
|
-
canDeleteManifest: true,
|
27
|
-
canEditOrganizations: true,
|
28
|
-
upload: noop,
|
29
|
-
refresh: noop,
|
30
|
-
delete: noop,
|
31
|
-
enableSimpleContentAccess: noop,
|
32
|
-
disableSimpleContentAccess: noop,
|
33
|
-
loadManifestHistory: noop,
|
34
|
-
organization,
|
35
|
-
loadOrganization: noop,
|
36
|
-
saveOrganization: noop,
|
37
|
-
taskInProgress: false,
|
38
|
-
simpleContentAccess: true,
|
39
|
-
manifestHistory: manifestHistorySuccessState,
|
40
|
-
setModalClosed: noop,
|
41
|
-
setModalOpen: noop,
|
42
|
-
};
|
43
|
-
|
44
|
-
const initialState = {
|
45
|
-
katello: {
|
46
|
-
organization: {
|
47
|
-
simple_content_access: false,
|
48
|
-
...organization,
|
49
|
-
},
|
50
|
-
},
|
51
|
-
foremanModals: {
|
52
|
-
manageManifestModal: {
|
53
|
-
isOpen: true,
|
54
|
-
},
|
55
|
-
},
|
56
|
-
};
|
57
|
-
|
58
|
-
const enableSimpleContetAccessPath = api.getApiUrl('/organizations/1/simple_content_access/enable');
|
59
|
-
const disableSimpleContetAccessPath = api.getApiUrl('/organizations/1/simple_content_access/disable');
|
60
|
-
const manifestHistoryPath = api.getApiUrl('/organizations/1/subscriptions/manifest_history');
|
61
|
-
|
62
|
-
test('Enable Simple Content Access after toggle switch value to true', async (done) => {
|
63
|
-
const { getByTestId } = renderWithRedux(<ManifestModal {...defaultProps} />, { initialState });
|
64
|
-
|
65
|
-
const updatescope = nockInstance
|
66
|
-
.put(enableSimpleContetAccessPath)
|
67
|
-
.reply(202, true);
|
68
|
-
|
69
|
-
const getscope = nockInstance
|
70
|
-
.get(manifestHistoryPath)
|
71
|
-
.query(true)
|
72
|
-
.reply(200, manifestHistorySuccessResponse);
|
73
|
-
|
74
|
-
const toggleButton = getByTestId('switch');
|
75
|
-
|
76
|
-
await patientlyWaitFor(() => { expect(toggleButton).toBeInTheDocument(); });
|
77
|
-
expect(toggleButton.checked).toEqual(false);
|
78
|
-
|
79
|
-
fireEvent.click(toggleButton);
|
80
|
-
|
81
|
-
assertNockRequest(getscope);
|
82
|
-
assertNockRequest(updatescope, done);
|
83
|
-
});
|
84
|
-
|
85
|
-
test('Disable Simple Content Access after toggle switch value to false', async (done) => {
|
86
|
-
initialState.katello.organization.simple_content_access = true;
|
87
|
-
|
88
|
-
const updatescope = nockInstance
|
89
|
-
.put(disableSimpleContetAccessPath)
|
90
|
-
.reply(202, true);
|
91
|
-
|
92
|
-
const getscope = nockInstance
|
93
|
-
.get(manifestHistoryPath)
|
94
|
-
.query(true)
|
95
|
-
.reply(200, manifestHistorySuccessResponse);
|
96
|
-
|
97
|
-
const { getByTestId } = renderWithRedux(<ManifestModal {...defaultProps} />, { initialState });
|
98
|
-
|
99
|
-
const toggleButton = getByTestId('switch');
|
100
|
-
|
101
|
-
await patientlyWaitFor(() => { expect(toggleButton).toBeInTheDocument(); });
|
102
|
-
expect(toggleButton.checked).toEqual(true);
|
103
|
-
|
104
|
-
fireEvent.click(toggleButton);
|
105
|
-
|
106
|
-
assertNockRequest(getscope);
|
107
|
-
assertNockRequest(updatescope, done);
|
108
|
-
});
|
data/webpack/scenes/Subscriptions/Manifest/__tests__/__snapshots__/ManageManifestModal.test.js.snap
DELETED
@@ -1,158 +0,0 @@
|
|
1
|
-
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
2
|
-
|
3
|
-
exports[`manage manifest modal should render 1`] = `
|
4
|
-
<ConnectedForemanModal
|
5
|
-
id="manageManifestModal"
|
6
|
-
title="Manage Manifest"
|
7
|
-
>
|
8
|
-
<ForwardRef
|
9
|
-
id="manifest-history-tabs"
|
10
|
-
>
|
11
|
-
<Tab
|
12
|
-
eventKey={2}
|
13
|
-
title="Manifest History"
|
14
|
-
>
|
15
|
-
<LoadingState
|
16
|
-
loading={false}
|
17
|
-
loadingText="Loading"
|
18
|
-
timeout={300}
|
19
|
-
>
|
20
|
-
<Table
|
21
|
-
columns={
|
22
|
-
Array [
|
23
|
-
Object {
|
24
|
-
"cell": Object {
|
25
|
-
"formatters": Array [
|
26
|
-
[Function],
|
27
|
-
],
|
28
|
-
},
|
29
|
-
"header": Object {
|
30
|
-
"formatters": Array [
|
31
|
-
[Function],
|
32
|
-
],
|
33
|
-
"label": "Status",
|
34
|
-
"props": Object {
|
35
|
-
"index": 0,
|
36
|
-
},
|
37
|
-
},
|
38
|
-
"property": "status",
|
39
|
-
},
|
40
|
-
Object {
|
41
|
-
"cell": Object {
|
42
|
-
"formatters": Array [
|
43
|
-
[Function],
|
44
|
-
],
|
45
|
-
},
|
46
|
-
"header": Object {
|
47
|
-
"formatters": Array [
|
48
|
-
[Function],
|
49
|
-
],
|
50
|
-
"label": "Message",
|
51
|
-
"props": Object {
|
52
|
-
"index": 1,
|
53
|
-
},
|
54
|
-
},
|
55
|
-
"property": "statusMessage",
|
56
|
-
},
|
57
|
-
Object {
|
58
|
-
"cell": Object {
|
59
|
-
"formatters": Array [
|
60
|
-
[Function],
|
61
|
-
],
|
62
|
-
},
|
63
|
-
"header": Object {
|
64
|
-
"formatters": Array [
|
65
|
-
[Function],
|
66
|
-
],
|
67
|
-
"label": "Timestamp",
|
68
|
-
"props": Object {
|
69
|
-
"index": 2,
|
70
|
-
},
|
71
|
-
},
|
72
|
-
"property": "created",
|
73
|
-
},
|
74
|
-
]
|
75
|
-
}
|
76
|
-
emptyState={
|
77
|
-
Object {
|
78
|
-
"description": "Import a Manifest using the manifest tab above.",
|
79
|
-
"documentation": Object {
|
80
|
-
"label": "Learn more about adding Subscription Manifests",
|
81
|
-
"url": "http://redhat.com",
|
82
|
-
},
|
83
|
-
"header": "There is no Manifest History to display.",
|
84
|
-
}
|
85
|
-
}
|
86
|
-
onPaginationChange={[Function]}
|
87
|
-
rows={
|
88
|
-
Array [
|
89
|
-
Object {
|
90
|
-
"created": "2018-04-12T18:58:45+0000",
|
91
|
-
"status": "SUCCESS",
|
92
|
-
"statusMessage": "Default_Organization file imported successfully.",
|
93
|
-
},
|
94
|
-
Object {
|
95
|
-
"created": "2018-04-12T14:28:57+0000",
|
96
|
-
"status": "SUCCESS",
|
97
|
-
"statusMessage": "Default_Organization file imported successfully.",
|
98
|
-
},
|
99
|
-
Object {
|
100
|
-
"created": "2018-04-11T14:36:43+0000",
|
101
|
-
"status": "SUCCESS",
|
102
|
-
"statusMessage": "Default_Organization file imported successfully.",
|
103
|
-
},
|
104
|
-
Object {
|
105
|
-
"created": "2018-04-11T04:29:51+0000",
|
106
|
-
"status": "SUCCESS",
|
107
|
-
"statusMessage": "Default_Organization file imported successfully.",
|
108
|
-
},
|
109
|
-
Object {
|
110
|
-
"created": "2018-04-11T04:26:38+0000",
|
111
|
-
"status": "SUCCESS",
|
112
|
-
"statusMessage": "Default_Organization file imported successfully.",
|
113
|
-
},
|
114
|
-
Object {
|
115
|
-
"created": "2018-04-11T04:23:05+0000",
|
116
|
-
"status": "SUCCESS",
|
117
|
-
"statusMessage": "Default_Organization file imported successfully.",
|
118
|
-
},
|
119
|
-
Object {
|
120
|
-
"created": "2018-04-11T04:05:07+0000",
|
121
|
-
"status": "SUCCESS",
|
122
|
-
"statusMessage": "Default_Organization file imported successfully.",
|
123
|
-
},
|
124
|
-
Object {
|
125
|
-
"created": "2018-04-11T03:29:44+0000",
|
126
|
-
"status": "SUCCESS",
|
127
|
-
"statusMessage": "Default_Organization file imported successfully.",
|
128
|
-
},
|
129
|
-
Object {
|
130
|
-
"created": "2018-04-10T18:44:38+0000",
|
131
|
-
"status": "SUCCESS",
|
132
|
-
"statusMessage": "Default_Organization file imported successfully.",
|
133
|
-
},
|
134
|
-
Object {
|
135
|
-
"created": "2018-04-10T18:40:17+0000",
|
136
|
-
"status": "SUCCESS",
|
137
|
-
"statusMessage": "Default_Organization file imported successfully.",
|
138
|
-
},
|
139
|
-
]
|
140
|
-
}
|
141
|
-
/>
|
142
|
-
</LoadingState>
|
143
|
-
</Tab>
|
144
|
-
</ForwardRef>
|
145
|
-
<ForemanModalFooter>
|
146
|
-
<Button
|
147
|
-
active={false}
|
148
|
-
block={false}
|
149
|
-
bsClass="btn"
|
150
|
-
bsStyle="primary"
|
151
|
-
disabled={false}
|
152
|
-
onClick={[Function]}
|
153
|
-
>
|
154
|
-
Close
|
155
|
-
</Button>
|
156
|
-
</ForemanModalFooter>
|
157
|
-
</ConnectedForemanModal>
|
158
|
-
`;
|