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,48 +0,0 @@
|
|
1
|
-
module Katello
|
2
|
-
module Pulp
|
3
|
-
class Repository
|
4
|
-
class Ostree < ::Katello::Pulp::Repository
|
5
|
-
PULP_MIRROR_SYNC_DEPTH = -1
|
6
|
-
|
7
|
-
def generate_primary_importer
|
8
|
-
config = {
|
9
|
-
feed: root.url,
|
10
|
-
depth: root.compute_ostree_upstream_sync_depth
|
11
|
-
}
|
12
|
-
Runcible::Models::OstreeImporter.new(config.merge(primary_importer_connection_options))
|
13
|
-
end
|
14
|
-
|
15
|
-
def generate_mirror_importer
|
16
|
-
config = {
|
17
|
-
feed: external_url(true),
|
18
|
-
depth: PULP_MIRROR_SYNC_DEPTH
|
19
|
-
}
|
20
|
-
Runcible::Models::OstreeImporter.new(config.merge(mirror_importer_connection_options))
|
21
|
-
end
|
22
|
-
|
23
|
-
def generate_distributors
|
24
|
-
[Runcible::Models::OstreeDistributor.new(:id => repo.pulp_id,
|
25
|
-
:auto_publish => true,
|
26
|
-
:relative_path => repo.relative_path,
|
27
|
-
:depth => root.compute_ostree_upstream_sync_depth)]
|
28
|
-
end
|
29
|
-
|
30
|
-
def distributors_to_publish(_options)
|
31
|
-
{Runcible::Models::OstreeDistributor => {}}
|
32
|
-
end
|
33
|
-
|
34
|
-
def partial_repo_path
|
35
|
-
"/pulp/ostree/web/#{repo.relative_path}".sub('//', '/')
|
36
|
-
end
|
37
|
-
|
38
|
-
def importer_class
|
39
|
-
Runcible::Models::OstreeImporter
|
40
|
-
end
|
41
|
-
|
42
|
-
def copy_contents(destination_repo, _options = {})
|
43
|
-
@smart_proxy.pulp_api.extensions.ostree_branch.copy(@repo.pulp_id, destination_repo.pulp_id, {})
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
<div data-extend-template="layouts/partials/table.html">
|
2
|
-
<div data-block="search-filter">
|
3
|
-
<select class="form-control" ng-model="repositoryId" ng-options="repo.id as repo.name for repo in repositories"></select>
|
4
|
-
</div>
|
5
|
-
|
6
|
-
<table data-block="table" class="table table-striped table-bordered">
|
7
|
-
<thead>
|
8
|
-
<tr bst-table-head>
|
9
|
-
<th bst-table-column translate>Name</th>
|
10
|
-
<th bst-table-column translate>Version</th>
|
11
|
-
<th bst-table-column translate>Commit</th>
|
12
|
-
</tr>
|
13
|
-
</thead>
|
14
|
-
|
15
|
-
<tbody>
|
16
|
-
<tr bst-table-row ng-repeat="branch in table.rows">
|
17
|
-
<td bst-table-cell>
|
18
|
-
<a ui-sref="ostree-branch.info({branchId: branch.id})">{{ branch.name }}</a>
|
19
|
-
</td>
|
20
|
-
<td bst-table-cell>{{ branch.version }}</td>
|
21
|
-
<td bst-table-cell>{{ branch.commit }}</td>
|
22
|
-
</tr>
|
23
|
-
</tbody>
|
24
|
-
</table>
|
25
|
-
|
26
|
-
</div>
|
@@ -1,27 +0,0 @@
|
|
1
|
-
<div data-extend-template="layouts/partials/table.html">
|
2
|
-
<div data-block="search-filter">
|
3
|
-
<select class="form-control" ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
|
4
|
-
<select class="form-control" ng-model="repository" ng-change="repositorySelected(repository)" ng-options="repository.name for (id, repository) in repositories"></select>
|
5
|
-
</div>
|
6
|
-
|
7
|
-
<span data-block="no-rows-message" ng-bind="getNoRowsMessage()"></span>
|
8
|
-
<span data-block="no-search-results-message" ng-bind="getZeroResultsMessage()"></span>
|
9
|
-
|
10
|
-
<table data-block="table" class="table table-striped table-bordered">
|
11
|
-
<thead>
|
12
|
-
<tr bst-table-head>
|
13
|
-
<th bst-table-column translate>Name</th>
|
14
|
-
<th bst-table-column translate>Version</th>
|
15
|
-
<th bst-table-column translate>Commit</th>
|
16
|
-
</tr>
|
17
|
-
</thead>
|
18
|
-
|
19
|
-
<tbody>
|
20
|
-
<tr bst-table-row ng-repeat="branch in table.rows">
|
21
|
-
<td bst-table-cell>{{ branch.name }}</td>
|
22
|
-
<td bst-table-cell>{{ branch.version }}</td>
|
23
|
-
<td bst-table-cell>{{ branch.commit }}</td>
|
24
|
-
</tr>
|
25
|
-
</tbody>
|
26
|
-
</table>
|
27
|
-
</div>
|
@@ -1,77 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @ngdoc object
|
3
|
-
* @name Bastion.ostree-branches.controller:OstreeBranchRepositoriesController
|
4
|
-
*
|
5
|
-
* @requires $scope
|
6
|
-
* @requires $q
|
7
|
-
* @requires Nutupane
|
8
|
-
* @requires Repository
|
9
|
-
* @requires Environment
|
10
|
-
* @requires ContentView
|
11
|
-
* @requires CurrentOrganization
|
12
|
-
*
|
13
|
-
* @description
|
14
|
-
* Provides the functionality for the OSTree branch repositories page.
|
15
|
-
*/
|
16
|
-
angular.module('Bastion.ostree-branches').controller('OstreeBranchRepositoriesController',
|
17
|
-
['$scope', '$q', 'Nutupane', 'Repository', 'Environment', 'ContentView', 'CurrentOrganization',
|
18
|
-
function ($scope, $q, Nutupane, Repository, Environment, ContentView, CurrentOrganization) {
|
19
|
-
var repositoriesNutupane, environment, contentView, params;
|
20
|
-
params = {
|
21
|
-
'ostree_branch_id': $scope.$stateParams.branchId,
|
22
|
-
'organization_id': CurrentOrganization,
|
23
|
-
'paged': false
|
24
|
-
};
|
25
|
-
|
26
|
-
repositoriesNutupane = new Nutupane(Repository, params);
|
27
|
-
$scope.controllerName = 'katello_repositories';
|
28
|
-
$scope.table = repositoriesNutupane.table;
|
29
|
-
$scope.table.initialLoad = false;
|
30
|
-
repositoriesNutupane.primaryOnly = true;
|
31
|
-
repositoriesNutupane.setSearchKey('repositoriesSearch');
|
32
|
-
|
33
|
-
environment = Environment.queryUnpaged(function (response) {
|
34
|
-
$scope.environments = response.results;
|
35
|
-
$scope.environmentFilter = _.find($scope.environments, {library: true}).id;
|
36
|
-
});
|
37
|
-
|
38
|
-
contentView = ContentView.queryUnpaged(function (response) {
|
39
|
-
$scope.contentViews = response.results;
|
40
|
-
_.each($scope.contentViews, function(cv) {
|
41
|
-
cv['environment_ids'] = _.map(cv.environments, 'id');
|
42
|
-
});
|
43
|
-
$scope.contentViewFilter = _.find($scope.contentViews, {'default': true});
|
44
|
-
});
|
45
|
-
|
46
|
-
$scope.table.working = true;
|
47
|
-
$q.all([contentView.$promise, environment.$promise]).then(function () {
|
48
|
-
$scope.filterBranches();
|
49
|
-
$scope.table.working = false;
|
50
|
-
});
|
51
|
-
|
52
|
-
$scope.filterBranches = function () {
|
53
|
-
var foundVersion, env;
|
54
|
-
params['environment_id'] = $scope.environmentFilter;
|
55
|
-
|
56
|
-
if ($scope.contentViewFilter) {
|
57
|
-
foundVersion = _.find($scope.contentViewFilter.versions, function(version) {
|
58
|
-
// Find the version belonging to the environment specified by the enviroment filter
|
59
|
-
env = _.find(version.environment_ids, function(envId) {
|
60
|
-
return envId === $scope.environmentFilter;
|
61
|
-
});
|
62
|
-
|
63
|
-
return !angular.isUndefined(env);
|
64
|
-
});
|
65
|
-
|
66
|
-
if (!angular.isUndefined(foundVersion)) {
|
67
|
-
params['content_view_version_id'] = foundVersion.id;
|
68
|
-
} else {
|
69
|
-
delete params['content_view_version_id'];
|
70
|
-
}
|
71
|
-
}
|
72
|
-
|
73
|
-
repositoriesNutupane.setParams(params);
|
74
|
-
repositoriesNutupane.refresh();
|
75
|
-
};
|
76
|
-
}]
|
77
|
-
);
|
@@ -1,31 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @ngdoc object
|
3
|
-
* @name Bastion.ostree-branches.controller:OstreeBranchController
|
4
|
-
*
|
5
|
-
* @requires $scope
|
6
|
-
* @requires OstreeBranch
|
7
|
-
* @requires ApiErrorHandler
|
8
|
-
*
|
9
|
-
* @description
|
10
|
-
* Provides the functionality for the Ostree Branch action pane.
|
11
|
-
*/
|
12
|
-
angular.module('Bastion.ostree-branches').controller('OstreeBranchController', ['$scope', 'OstreeBranch', 'ApiErrorHandler',
|
13
|
-
function ($scope, OstreeBranch, ApiErrorHandler) {
|
14
|
-
$scope.panel = {
|
15
|
-
error: false,
|
16
|
-
loading: true
|
17
|
-
};
|
18
|
-
|
19
|
-
if ($scope.branch) {
|
20
|
-
$scope.panel.loading = false;
|
21
|
-
}
|
22
|
-
|
23
|
-
$scope.branch = OstreeBranch.get({id: $scope.$stateParams.branchId}, function (branch) {
|
24
|
-
$scope.$broadcast('branch.loaded', branch);
|
25
|
-
$scope.panel.loading = false;
|
26
|
-
}, function (response) {
|
27
|
-
$scope.panel.loading = false;
|
28
|
-
ApiErrorHandler.handleGETRequestErrors(response, $scope);
|
29
|
-
});
|
30
|
-
}
|
31
|
-
]);
|
@@ -1,15 +0,0 @@
|
|
1
|
-
<span page-title ng-model="branch">{{ 'OSTree Branch: ' | translate }} {{ branch.name }}</span>
|
2
|
-
|
3
|
-
<div data-extend-template="layouts/two-column-details.html">
|
4
|
-
<div data-block="left-column">
|
5
|
-
<h4 translate>Branch Info</h4>
|
6
|
-
|
7
|
-
<dl class="dl-horizontal dl-horizontal-left">
|
8
|
-
<dt translate>Version</dt>
|
9
|
-
<dd>{{ branch.version }}</dd>
|
10
|
-
|
11
|
-
<dt translate>Commit</dt>
|
12
|
-
<dd>{{ branch.commit }}</dd>
|
13
|
-
</dl>
|
14
|
-
</div>
|
15
|
-
</div>
|
@@ -1,72 +0,0 @@
|
|
1
|
-
<span page-title ng-model="branch">{{ 'OSTree Branch: ' | translate }} {{ branch.name }}</span>
|
2
|
-
|
3
|
-
<h3 translate>
|
4
|
-
Repositories containing branch {{ branch.name }}
|
5
|
-
</h3>
|
6
|
-
|
7
|
-
<div data-extend-template="layouts/partials/table.html">
|
8
|
-
<div data-block="search-filter">
|
9
|
-
<select class="form-control"
|
10
|
-
placeholder="{{ 'Select Environment' | translate }}"
|
11
|
-
ng-disabled="!environments"
|
12
|
-
ng-model="environmentFilter"
|
13
|
-
ng-options="e.id as e.name for e in environments"
|
14
|
-
ng-change="filterBranches()">
|
15
|
-
</select>
|
16
|
-
|
17
|
-
<select class="form-control"
|
18
|
-
placeholder="{{ 'Select Content View' | translate }}"
|
19
|
-
ng-disabled="!contentViews || filteredCVs.length === 0"
|
20
|
-
ng-model="contentViewFilter"
|
21
|
-
ng-options="cv as cv.name for cv in filteredCVs = (contentViews | filter:{environment_ids: environmentFilter})"
|
22
|
-
ng-change="filterBranches()">
|
23
|
-
</select>
|
24
|
-
<p class="help-block" translate ng-show="filteredCVs.length === 0">
|
25
|
-
There are no Content Views in this Environment.
|
26
|
-
</p>
|
27
|
-
</div>
|
28
|
-
|
29
|
-
<span data-block="no-rows-message" translate>
|
30
|
-
No Repositories contain this Branch.
|
31
|
-
</span>
|
32
|
-
|
33
|
-
<div data-block="table">
|
34
|
-
<table class="table table-striped table-bordered" ng-class="{'table-mask': table.working}">
|
35
|
-
<thead>
|
36
|
-
<tr bst-table-head>
|
37
|
-
<th bst-table-column="name"><span translate>Name</span></th>
|
38
|
-
<th bst-table-column="product"><span translate>Product</span></th>
|
39
|
-
<th bst-table-column="lastSync"><span translate>Last Sync</span></th>
|
40
|
-
</tr>
|
41
|
-
</thead>
|
42
|
-
|
43
|
-
<tbody>
|
44
|
-
<tr bst-table-row
|
45
|
-
ng-repeat="repository in table.rows">
|
46
|
-
<td bst-table-cell>
|
47
|
-
<a ng-href="/products/{{ repository.product.id }}/repositories/{{ repository.library_instance_id || repository.id }}">
|
48
|
-
{{ repository.name }}
|
49
|
-
</a>
|
50
|
-
</td>
|
51
|
-
<td bst-table-cell>
|
52
|
-
<a ui-sref="product.repositories({productId: repository.product.id})">
|
53
|
-
{{ repository.product.name }}
|
54
|
-
</a>
|
55
|
-
</td>
|
56
|
-
<td bst-table-cell>
|
57
|
-
<span ng-show="repository.url">
|
58
|
-
<span ng-show="repository.last_sync == null" translate>
|
59
|
-
Not Synced
|
60
|
-
</span>
|
61
|
-
<span ng-hide="repository.last_sync == null">
|
62
|
-
<a href="/foreman_tasks/tasks/{{repository.last_sync.id}}">{{ repository.last_sync.result | capitalize}}</a>
|
63
|
-
<span translate>{{ repository.last_sync_words }} ago</span>
|
64
|
-
</span>
|
65
|
-
</span>
|
66
|
-
<span ng-hide="repository.url" translate>N/A</span>
|
67
|
-
</td>
|
68
|
-
</tr>
|
69
|
-
</tbody>
|
70
|
-
</table>
|
71
|
-
</div>
|
72
|
-
</div>
|
@@ -1,30 +0,0 @@
|
|
1
|
-
<span page-title ng-model="branch">{{ 'OSTree Branch: ' | translate }} {{ branch.name }}</span>
|
2
|
-
|
3
|
-
<div data-extend-template="layouts/details-page-with-breadcrumbs.html">
|
4
|
-
<div data-block="header">
|
5
|
-
{{ branch.name }}
|
6
|
-
</div>
|
7
|
-
|
8
|
-
<nav data-block="navigation">
|
9
|
-
<ul class="nav nav-tabs">
|
10
|
-
<li ng-class="{active: isState('ostree-branch.info')}">
|
11
|
-
<a ui-sref="ostree-branch.info">
|
12
|
-
<span translate>
|
13
|
-
Details
|
14
|
-
</span>
|
15
|
-
</a>
|
16
|
-
</li>
|
17
|
-
<li ng-class="{active: isState('ostree-branch.repositories')}">
|
18
|
-
<a ui-sref="ostree-branch.repositories">
|
19
|
-
<span translate>
|
20
|
-
Repositories
|
21
|
-
</span>
|
22
|
-
</a>
|
23
|
-
</li>
|
24
|
-
</ul>
|
25
|
-
</nav>
|
26
|
-
|
27
|
-
<div data-block="content">
|
28
|
-
<section ui-view></section>
|
29
|
-
</div>
|
30
|
-
</div>
|
@@ -1,27 +0,0 @@
|
|
1
|
-
(function () {
|
2
|
-
'use strict';
|
3
|
-
|
4
|
-
/**
|
5
|
-
* @ngdoc factory
|
6
|
-
* @name Bastion.ostree-branches.factory:OstreeBranch
|
7
|
-
*
|
8
|
-
* @description
|
9
|
-
* Provides a BastionResource for interacting with Ostree Branches
|
10
|
-
*/
|
11
|
-
function OstreeBranch(BastionResource) {
|
12
|
-
return BastionResource('katello/api/v2/ostree_branches/:id',
|
13
|
-
{'id': '@id'},
|
14
|
-
{
|
15
|
-
autocomplete: {method: 'GET', isArray: true, params: {id: 'auto_complete_search'}}
|
16
|
-
}
|
17
|
-
|
18
|
-
);
|
19
|
-
}
|
20
|
-
|
21
|
-
angular
|
22
|
-
.module('Bastion.ostree-branches')
|
23
|
-
.factory('OstreeBranch', OstreeBranch);
|
24
|
-
|
25
|
-
OstreeBranch.$inject = ['BastionResource'];
|
26
|
-
|
27
|
-
})();
|
@@ -1,67 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @ngdoc object
|
3
|
-
* @name Bastion.ostree-branches.controller:OstreeBranchesController
|
4
|
-
*
|
5
|
-
* @requires $scope
|
6
|
-
* @requires $location
|
7
|
-
* @requires translate
|
8
|
-
* @requires Nutupane
|
9
|
-
* @requires OstreeBranch
|
10
|
-
* @requires Repository
|
11
|
-
* @requires CurrentOrganization
|
12
|
-
*
|
13
|
-
* @description
|
14
|
-
* Provides the functionality specific to ostree branches for use with the Nutupane UI pattern.
|
15
|
-
* Defines the columns to display and the transform function for how to generate each row
|
16
|
-
* within the table.
|
17
|
-
*/
|
18
|
-
|
19
|
-
angular.module('Bastion.ostree-branches').controller('OstreeBranchesController',
|
20
|
-
['$scope', '$location', 'translate', 'Nutupane', 'OstreeBranch', 'Repository', 'CurrentOrganization',
|
21
|
-
function ($scope, $location, translate, Nutupane, OstreeBranch, Repository, CurrentOrganization) {
|
22
|
-
var nutupane, params = {
|
23
|
-
'organization_id': CurrentOrganization,
|
24
|
-
'search': $location.search().search || "",
|
25
|
-
'paged': true
|
26
|
-
};
|
27
|
-
|
28
|
-
nutupane = $scope.nutupane = new Nutupane(OstreeBranch, params);
|
29
|
-
$scope.controllerName = 'katello_ostree_branches';
|
30
|
-
$scope.table = nutupane.table;
|
31
|
-
$scope.removeRow = nutupane.removeRow;
|
32
|
-
|
33
|
-
$scope.table.closeItem = function () {
|
34
|
-
$scope.transitionTo('ostree-branches.index');
|
35
|
-
};
|
36
|
-
|
37
|
-
$scope.repository = {name: translate('All Repositories'), id: 'all'};
|
38
|
-
|
39
|
-
Repository.queryUnpaged({'organization_id': CurrentOrganization, 'content_type': 'ostree'}, function (response) {
|
40
|
-
$scope.repositories = [$scope.repository];
|
41
|
-
$scope.repositories = $scope.repositories.concat(response.results);
|
42
|
-
|
43
|
-
if ($location.search().repositoryId) {
|
44
|
-
$scope.repository = _.find($scope.repositories, function (repository) {
|
45
|
-
return repository.id === parseInt($location.search().repositoryId, 10);
|
46
|
-
});
|
47
|
-
}
|
48
|
-
});
|
49
|
-
|
50
|
-
$scope.$watch('repository', function (repository) {
|
51
|
-
var nutupaneParams = nutupane.getParams();
|
52
|
-
|
53
|
-
if (repository.id === 'all') {
|
54
|
-
nutupaneParams['repository_id'] = null;
|
55
|
-
nutupane.setParams(nutupaneParams);
|
56
|
-
} else {
|
57
|
-
$location.search('repositoryId', repository.id);
|
58
|
-
nutupaneParams['repository_id'] = repository.id;
|
59
|
-
nutupane.setParams(nutupaneParams);
|
60
|
-
}
|
61
|
-
|
62
|
-
if (!nutupane.table.initialLoad) {
|
63
|
-
nutupane.refresh();
|
64
|
-
}
|
65
|
-
});
|
66
|
-
}]
|
67
|
-
);
|
@@ -1,15 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @ngdoc module
|
3
|
-
* @name Bastion.ostree-branches
|
4
|
-
*
|
5
|
-
* @description
|
6
|
-
* Module for Ostree Branch related functionality.
|
7
|
-
*/
|
8
|
-
angular.module('Bastion.ostree-branches', [
|
9
|
-
'ngResource',
|
10
|
-
'ui.router',
|
11
|
-
'Bastion',
|
12
|
-
'Bastion.i18n',
|
13
|
-
'Bastion.common',
|
14
|
-
'Bastion.components'
|
15
|
-
]);
|
@@ -1,50 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @ngdoc object
|
3
|
-
* @name Bastion.ostree-branches.config
|
4
|
-
*
|
5
|
-
* @requires $stateProvider
|
6
|
-
*
|
7
|
-
* @description
|
8
|
-
* State routes defined for the ostree branches module.
|
9
|
-
*/
|
10
|
-
angular.module('Bastion.ostree-branches').config(['$stateProvider', function ($stateProvider) {
|
11
|
-
$stateProvider.state('ostree-branches', {
|
12
|
-
url: '/ostree_branches',
|
13
|
-
permission: ['view_products', 'view_content_views'],
|
14
|
-
views: {
|
15
|
-
'@': {
|
16
|
-
controller: 'OstreeBranchesController',
|
17
|
-
templateUrl: 'ostree-branches/views/ostree-branches.html'
|
18
|
-
}
|
19
|
-
},
|
20
|
-
ncyBreadcrumb: {
|
21
|
-
label: "{{ 'OSTree Branches' | translate }}"
|
22
|
-
}
|
23
|
-
})
|
24
|
-
.state('ostree-branch', {
|
25
|
-
abstract: true,
|
26
|
-
url: '/ostree_branches/:branchId',
|
27
|
-
permission: ['view_products', 'view_content_views'],
|
28
|
-
controller: 'OstreeBranchController',
|
29
|
-
templateUrl: 'ostree-branches/details/views/ostree-branch.html'
|
30
|
-
})
|
31
|
-
.state('ostree-branch.info', {
|
32
|
-
url: '',
|
33
|
-
permission: ['view_products', 'view_content_views'],
|
34
|
-
templateUrl: 'ostree-branches/details/views/ostree-branch-info.html',
|
35
|
-
ncyBreadcrumb: {
|
36
|
-
label: "{{ branch.name }}",
|
37
|
-
parent: 'ostree-branches'
|
38
|
-
}
|
39
|
-
})
|
40
|
-
.state('ostree-branch.repositories', {
|
41
|
-
url: '/repositories',
|
42
|
-
permission: ['view_products', 'view_content_views'],
|
43
|
-
controller: 'OstreeBranchRepositoriesController',
|
44
|
-
templateUrl: 'ostree-branches/details/views/ostree-branch-repositories.html',
|
45
|
-
ncyBreadcrumb: {
|
46
|
-
label: "{{ 'Repositories' | translate }}",
|
47
|
-
parent: 'ostree-branch.info'
|
48
|
-
}
|
49
|
-
});
|
50
|
-
}]);
|
@@ -1,40 +0,0 @@
|
|
1
|
-
<span page-title>{{ 'OSTree Branches' | translate }}</span>
|
2
|
-
|
3
|
-
<div data-extend-template="layouts/table-with-header.html">
|
4
|
-
|
5
|
-
<header data-block="header" translate>
|
6
|
-
OSTree Branches
|
7
|
-
</header>
|
8
|
-
|
9
|
-
<div data-block="search-filter">
|
10
|
-
<select class="form-control" ng-model="repository" ng-options="repository.name for (id, repository) in repositories"></select>
|
11
|
-
</div>
|
12
|
-
|
13
|
-
<span data-block="no-rows-message" translate>
|
14
|
-
You currently don't have any OSTree Branches.
|
15
|
-
</span>
|
16
|
-
|
17
|
-
<div data-block="table">
|
18
|
-
<table class="table table-striped table-bordered" ng-class="{'table-mask': table.working}">
|
19
|
-
<thead>
|
20
|
-
<tr bst-table-head>
|
21
|
-
<th bst-table-column="name">{{ "Name" | translate }}</th>
|
22
|
-
<th bst-table-column="version">{{ "Version" | translate }}</th>
|
23
|
-
</tr>
|
24
|
-
</thead>
|
25
|
-
|
26
|
-
<tbody>
|
27
|
-
<tr bst-table-row ng-repeat="branch in table.rows">
|
28
|
-
<td bst-table-cell>
|
29
|
-
<a ui-sref="ostree-branch.info({branchId: branch.id})">
|
30
|
-
{{ branch.name }}
|
31
|
-
</a>
|
32
|
-
</td>
|
33
|
-
<td bst-table-cell>
|
34
|
-
{{ branch.version }}
|
35
|
-
</td>
|
36
|
-
</tr>
|
37
|
-
</tbody>
|
38
|
-
</table>
|
39
|
-
</div>
|
40
|
-
</div>
|
@@ -1,40 +0,0 @@
|
|
1
|
-
<span page-title ng-model="repository">{{ 'Manage OSTree Branches for Repository:' | translate }} {{ repository.name }}</span>
|
2
|
-
|
3
|
-
<div data-block="messages">
|
4
|
-
<div bst-alert="success" ng-hide="generationTaskId === undefined">
|
5
|
-
<button type="button" class="close" ng-click="clearTaskId()">×</button>
|
6
|
-
<p translate>
|
7
|
-
OSTree Branch metadata generation has been initiated in the background. Click
|
8
|
-
<a ng-href="{{ taskUrl() }}">Here</a> to monitor the progress.
|
9
|
-
</p>
|
10
|
-
</div>
|
11
|
-
</div>
|
12
|
-
|
13
|
-
<div data-extend-template="layouts/partials/table.html">
|
14
|
-
<div data-block="table">
|
15
|
-
<table class="table table-striped table-bordered" >
|
16
|
-
|
17
|
-
<thead>
|
18
|
-
<tr bst-table-head>
|
19
|
-
<th bst-table-column><span translate>Branch Name</span></th>
|
20
|
-
<th bst-table-column><span translate>Version</span></th>
|
21
|
-
<th bst-table-column><span translate>Commit</span></th>
|
22
|
-
</tr>
|
23
|
-
</thead>
|
24
|
-
|
25
|
-
<tbody>
|
26
|
-
<tr bst-table-row ng-repeat="item in table.rows">
|
27
|
-
<td bst-table-cell>
|
28
|
-
{{ item.name }}
|
29
|
-
</td>
|
30
|
-
<td bst-table-cell>
|
31
|
-
{{ item.version }}
|
32
|
-
</td>
|
33
|
-
<td bst-table-cell>
|
34
|
-
{{ item.commit }}
|
35
|
-
</td>
|
36
|
-
</tr>
|
37
|
-
</tbody>
|
38
|
-
</table>
|
39
|
-
</div>
|
40
|
-
</div>
|
@@ -1,26 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @ngdoc service
|
3
|
-
* @name Bastion.repository.service:ostreeUpstreamSyncPolicy
|
4
|
-
*
|
5
|
-
* @requires translate
|
6
|
-
*
|
7
|
-
* @description
|
8
|
-
* Provides a ostree upstream syncPolicies for repositories
|
9
|
-
*/
|
10
|
-
angular.module('Bastion.repositories').service('OstreeUpstreamSyncPolicy',
|
11
|
-
['translate', function (translate) {
|
12
|
-
|
13
|
-
this.syncPolicies = {
|
14
|
-
'latest': translate('Latest Only'),
|
15
|
-
'all': translate('All History'),
|
16
|
-
'custom': translate('Custom Depth')
|
17
|
-
};
|
18
|
-
|
19
|
-
this.syncPolicyName = function (policy, depth) {
|
20
|
-
if (policy === "custom") {
|
21
|
-
return translate('Custom Depth (Currently %s)').replace('%s', depth.toString());
|
22
|
-
}
|
23
|
-
return this.syncPolicies[policy];
|
24
|
-
};
|
25
|
-
}]
|
26
|
-
);
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import EmptyPage from 'foremanReact/components/common/EmptyState/EmptyStatePattern';
|
3
|
-
|
4
|
-
const SubscriptionTab = () => (
|
5
|
-
<EmptyPage
|
6
|
-
icon="enterprise"
|
7
|
-
header="WIP Subscription"
|
8
|
-
description="This is a demo for adding content to the new host details page"
|
9
|
-
/>
|
10
|
-
);
|
11
|
-
|
12
|
-
export default SubscriptionTab;
|