katello 3.16.2 → 3.17.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/katello/katello.scss +3 -7
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -1
- data/app/controllers/katello/api/v2/activation_keys_controller.rb +8 -0
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +10 -4
- data/app/controllers/katello/api/v2/host_tracer_controller.rb +33 -8
- data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +11 -11
- data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +0 -15
- data/app/controllers/katello/api/v2/repositories_controller.rb +5 -11
- data/app/controllers/katello/api/v2/upstream_subscriptions_controller.rb +16 -0
- data/app/controllers/katello/concerns/api/v2/bulk_hosts_extensions.rb +4 -4
- data/app/controllers/katello/concerns/api/v2/hostgroups_controller_extensions.rb +1 -1
- data/app/controllers/katello/concerns/hosts_controller_extensions.rb +5 -11
- data/app/helpers/katello/concerns/dashboard_helper_extensions.rb +10 -0
- data/app/helpers/katello/hosts_and_hostgroups_helper.rb +6 -7
- data/app/lib/actions/candlepin/product/content_add.rb +2 -1
- data/app/lib/actions/candlepin/product/content_update_enablement.rb +18 -0
- data/app/lib/actions/katello/applicability/hosts/bulk_generate.rb +2 -6
- data/app/lib/actions/katello/capsule_content/refresh_repos.rb +1 -1
- data/app/lib/actions/katello/capsule_content/sync.rb +1 -1
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +3 -17
- data/app/lib/actions/katello/content_view_version/incremental_update.rb +2 -3
- data/app/lib/actions/katello/organization/simple_content_access/disable.rb +17 -0
- data/app/lib/actions/katello/organization/simple_content_access/enable.rb +17 -0
- data/app/lib/actions/katello/organization/simple_content_access/toggle.rb +36 -0
- data/app/lib/actions/katello/orphan_cleanup/remove_orphans.rb +13 -0
- data/app/lib/actions/katello/product/content_create.rb +3 -3
- data/app/lib/actions/katello/product/destroy.rb +4 -25
- data/app/lib/actions/katello/repository/content_update.rb +41 -0
- data/app/lib/actions/katello/repository/destroy.rb +1 -5
- data/app/lib/actions/katello/repository/export.rb +1 -1
- data/app/lib/actions/katello/repository/multi_clone_contents.rb +15 -13
- data/app/lib/actions/katello/repository/sync.rb +25 -35
- data/app/lib/actions/katello/repository/update.rb +19 -30
- data/app/lib/actions/katello/repository/update_cv_repo_cert_guard.rb +17 -0
- data/app/lib/actions/pulp/orchestration/repository/smart_proxy_sync.rb +1 -0
- data/app/lib/actions/pulp/orchestration/repository/sync.rb +1 -2
- data/app/lib/actions/pulp/repository/sync.rb +1 -2
- data/app/lib/actions/pulp3/abstract_async_task.rb +0 -1
- data/app/lib/actions/pulp3/capsule_content/sync.rb +1 -3
- data/app/lib/actions/pulp3/content_view/delete_repository_references.rb +1 -1
- data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +2 -1
- data/app/lib/actions/pulp3/orchestration/repository/sync.rb +1 -3
- data/app/lib/actions/pulp3/repository/copy_content.rb +1 -0
- data/app/lib/actions/pulp3/repository/delete.rb +1 -1
- data/app/lib/actions/pulp3/repository/multi_copy_content.rb +1 -1
- data/app/lib/actions/pulp3/repository/save_version.rb +16 -20
- data/app/lib/actions/pulp3/repository/sync.rb +1 -1
- data/app/lib/actions/pulp3/repository/update_cv_repository_cert_guard.rb +2 -6
- data/app/lib/actions/pulp3/repository/upload_file.rb +1 -1
- data/app/lib/katello/resources/candlepin/product.rb +11 -0
- data/app/lib/katello/resources/cdn.rb +2 -3
- data/app/lib/katello/util/cdn_var_substitutor.rb +7 -9
- data/app/lib/katello/validators/hostgroup_kickstart_repository_validator.rb +11 -11
- data/app/models/katello/activation_key.rb +1 -1
- data/app/models/katello/concerns/content_facet_host_extensions.rb +7 -0
- data/app/models/katello/concerns/host_managed_extensions.rb +39 -0
- data/app/models/katello/concerns/hostgroup_extensions.rb +46 -24
- data/app/models/katello/concerns/smart_proxy_extensions.rb +5 -19
- data/app/models/katello/concerns/widget_extensions.rb +23 -0
- data/app/models/katello/content_view.rb +9 -1
- data/app/models/katello/content_view_package_filter.rb +1 -1
- data/app/models/katello/content_view_version.rb +7 -0
- data/app/models/katello/erratum.rb +13 -0
- data/app/models/katello/erratum_cve.rb +8 -0
- data/app/models/katello/glue/pulp/repo.rb +1 -1
- data/app/models/katello/host/content_facet.rb +18 -1
- data/app/models/katello/host_collection.rb +6 -0
- data/app/models/katello/hostgroup/content_facet.rb +18 -0
- data/app/models/katello/installed_package.rb +8 -0
- data/app/models/katello/kt_environment.rb +9 -1
- data/app/models/katello/model.rb +16 -0
- data/app/models/katello/pool.rb +17 -0
- data/app/models/katello/product.rb +6 -0
- data/app/models/katello/purpose_addons_status.rb +1 -0
- data/app/models/katello/purpose_role_status.rb +1 -0
- data/app/models/katello/purpose_sla_status.rb +1 -0
- data/app/models/katello/purpose_usage_status.rb +1 -0
- data/app/models/katello/repository.rb +3 -6
- data/app/models/katello/root_repository.rb +24 -16
- data/app/models/katello/subscription_status.rb +1 -1
- data/app/models/katello/trace_status.rb +1 -1
- data/app/models/setting/content.rb +6 -2
- data/app/services/cert/certs.rb +2 -10
- data/app/services/katello/event_daemon.rb +7 -8
- data/app/services/katello/host_status_manager.rb +13 -0
- data/app/services/katello/pulp3/migration.rb +1 -1
- data/app/services/katello/pulp3/repository/yum.rb +6 -72
- data/app/services/katello/pulp3/repository.rb +11 -10
- data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +1 -1
- data/app/services/katello/pulp3/task.rb +3 -3
- data/app/services/katello/pulp3/task_group.rb +0 -6
- data/app/services/katello/smart_proxy_helper.rb +16 -13
- data/app/views/foreman/smart_proxies/_content_sync.html.erb +1 -1
- data/app/views/katello/api/v2/repositories/base.json.rabl +1 -1
- data/config/routes/api/rhsm.rb +0 -1
- data/config/routes/api/v2.rb +8 -2
- data/config/routes/overrides.rb +0 -4
- data/db/migrate/20141222151001_add_host_content_view_environment.rb +1 -1
- data/db/migrate/20180904122343_create_hostgroup_content_facet.katello.rb +16 -0
- data/db/migrate/20200514092553_move_katello_fields_from_hostgroups.katello.rb +53 -0
- data/db/migrate/20200610112009_remove_audits_of_root_repo_with_content_id.rb +9 -0
- data/db/migrate/20200701150946_add_auto_enabled_to_root_repository.rb +5 -0
- data/db/seeds.d/75-job_templates.rb +2 -2
- data/engines/bastion/app/assets/javascripts/bastion/components/nutupane.factory.js +3 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-associations.controller.js +5 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-associations-content-hosts.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-details.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +4 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +4 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-subscriptions-modal.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-traces-modal.controller.js +4 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-environment-modal.html +7 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.routes.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details-info.controller.js +7 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +14 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions-list.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +6 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-details.controller.js +5 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-info.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-bulk-action.factory.js +1 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-traces-resolve.factory.js +18 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +45 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/product-bulk-action.factory.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +1 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +11 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +16 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository.factory.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +0 -15
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/content-access-mode-banner.html +1 -1
- data/lib/katello/engine.rb +6 -5
- data/lib/katello/permission_creator.rb +3 -3
- data/lib/katello/permissions/host_permissions.rb +0 -1
- data/lib/katello/plugin.rb +20 -16
- data/lib/katello/tasks/pulp3_post_migration_check.rake +1 -2
- data/lib/katello/tasks/reimport.rake +1 -1
- data/lib/katello/tasks/reports.rake +0 -12
- data/lib/katello/tasks/test.rake +15 -0
- data/lib/katello/version.rb +1 -1
- data/locale/action_names.rb +48 -48
- data/locale/bn/katello.po +137 -14
- data/locale/cs/katello.po +137 -14
- data/locale/de/katello.po +138 -15
- data/locale/en/katello.po +137 -14
- data/locale/es/katello.po +138 -15
- data/locale/fr/katello.po +138 -15
- data/locale/gu/katello.po +137 -14
- data/locale/hi/katello.po +137 -14
- data/locale/it/katello.po +138 -15
- data/locale/ja/katello.po +138 -15
- data/locale/katello.pot +969 -769
- data/locale/kn/katello.po +137 -14
- data/locale/ko/katello.po +138 -15
- data/locale/mr/katello.po +137 -14
- data/locale/or/katello.po +137 -14
- data/locale/pa/katello.po +137 -14
- data/locale/pt/katello.po +137 -14
- data/locale/pt_BR/katello.po +138 -15
- data/locale/ru/katello.po +138 -15
- data/locale/ta/katello.po +137 -14
- data/locale/te/katello.po +137 -14
- data/locale/zh_CN/katello.po +138 -15
- data/locale/zh_TW/katello.po +138 -15
- data/package.json +8 -25
- data/webpack/__mocks__/foremanReact/Root/Context/ForemanContext.js +3 -0
- data/webpack/components/ActionableDetail.js +63 -0
- data/webpack/components/Content/ContentTable.js +2 -2
- data/webpack/components/Content/Details/ContentDetailRepositoryTableSchema.js +1 -1
- data/webpack/components/Content/Details/ContentDetails.js +1 -1
- data/webpack/components/Content/__tests__/ContentTable.test.js +2 -2
- data/webpack/components/Content/__tests__/__snapshots__/ContentPage.test.js.snap +1 -1
- data/webpack/components/EditableSwitch.js +30 -0
- data/webpack/components/EditableTextInput/EditableTextInput.js +120 -0
- data/webpack/components/EditableTextInput/__tests__/editableTextInput.test.js +52 -0
- data/webpack/components/EditableTextInput/editableTextInput.scss +14 -0
- data/webpack/components/EditableTextInput/index.js +3 -0
- data/webpack/{scenes/ContentViews/components → components}/Loading.js +8 -5
- data/webpack/{move_to_pf → components}/LoadingState/LoadingState.js +0 -0
- data/webpack/{move_to_pf → components}/LoadingState/LoadingState.scss +0 -0
- data/webpack/{move_to_pf → components}/LoadingState/LoadingState.test.js +0 -0
- data/webpack/{move_to_pf → components}/LoadingState/__snapshots__/LoadingState.test.js.snap +0 -0
- data/webpack/{move_to_pf → components}/LoadingState/index.js +0 -0
- data/webpack/components/MultiSelect/index.js +1 -1
- data/webpack/{move_to_pf → components}/OptionTooltip/OptionTooltip.scss +0 -0
- data/webpack/{move_to_pf → components}/OptionTooltip/__tests__/OptionTooltip.test.js +0 -0
- data/webpack/{move_to_pf → components}/OptionTooltip/__tests__/__snapshots__/OptionTooltip.test.js.snap +0 -0
- data/webpack/{move_to_pf → components}/OptionTooltip/index.js +0 -0
- data/webpack/components/Search/Search.js +124 -0
- data/webpack/components/Search/Search.test.js +2 -1
- data/webpack/components/Search/__snapshots__/Search.test.js.snap +2 -0
- data/webpack/components/Search/__tests__/search.test.js +124 -0
- data/webpack/components/Search/index.js +11 -87
- data/webpack/{move_to_pf → components}/Select/Select.js +0 -0
- data/webpack/components/SelectOrg/SetOrganization.js +2 -2
- data/webpack/components/TabWrapper/TabWrapper.js +26 -0
- data/webpack/components/TabWrapper/index.js +3 -0
- data/webpack/components/TabbedView/TabbedView.js +38 -0
- data/webpack/components/TabbedView/TabbedView.scss +3 -0
- data/webpack/components/TabbedView/index.js +3 -0
- data/webpack/components/Table/EmptyStateMessage.js +61 -0
- data/webpack/{scenes/ContentViews/Table/TableWrapper.js → components/Table/MainTable.js} +23 -12
- data/webpack/components/Table/TableWrapper.js +94 -0
- data/webpack/{move_to_pf → components}/TooltipButton/TooltipButton.js +0 -0
- data/webpack/{move_to_pf → components}/TooltipButton/TooltipButton.scss +0 -0
- data/webpack/{move_to_pf → components}/TooltipButton/TooltipButton.test.js +0 -0
- data/webpack/{move_to_pf → components}/TooltipButton/__snapshots__/TooltipButton.test.js.snap +0 -0
- data/webpack/{move_to_pf → components}/TooltipButton/index.js +0 -0
- data/webpack/components/TypeAhead/TypeAhead.js +109 -0
- data/webpack/{move_to_pf → components}/TypeAhead/TypeAhead.scss +0 -0
- data/webpack/components/TypeAhead/helpers/commonPropTypes.js +35 -0
- data/webpack/components/TypeAhead/helpers/helpers.js +32 -0
- data/webpack/components/TypeAhead/index.js +3 -0
- data/webpack/{move_to_pf/TypeAhead → components/TypeAhead/pf3Search}/TypeAheadInput.js +3 -6
- data/webpack/{move_to_pf/TypeAhead → components/TypeAhead/pf3Search}/TypeAheadItems.js +3 -7
- data/webpack/components/TypeAhead/pf3Search/TypeAheadSearch.js +52 -0
- data/webpack/components/TypeAhead/pf4Search/TypeAheadInput.js +44 -0
- data/webpack/components/TypeAhead/pf4Search/TypeAheadInput.scss +11 -0
- data/webpack/components/TypeAhead/pf4Search/TypeAheadItems.js +57 -0
- data/webpack/components/TypeAhead/pf4Search/TypeAheadSearch.js +66 -0
- data/webpack/components/TypeAhead/pf4Search/TypeAheadSearch.scss +5 -0
- data/webpack/components/extensions/about/__tests__/SystemStatuses.test.js +1 -1
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/CollapseSubscriptionGroupButton.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/CollapseSubscriptionGroupButton.test.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/Table.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/Table.test.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableBody.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableBody.test.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableBodyMessage.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableBodyMessage.test.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableFixtures.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableSelectionCell.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableSelectionCell.test.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableSelectionHeaderCell.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableSelectionHeaderCell.test.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/__snapshots__/CollapseSubscriptionGroupButton.test.js.snap +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/__snapshots__/Table.test.js.snap +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/__snapshots__/TableBody.test.js.snap +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/__snapshots__/TableBodyMessage.test.js.snap +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/__snapshots__/TableSelectionCell.test.js.snap +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/__snapshots__/TableSelectionHeaderCell.test.js.snap +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/index.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/EntitlementsInlineEditFormatter.js +1 -1
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/__tests__/EntitlementsInlineEditFormatter.test.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/__tests__/__snapshots__/EntitlementsInlineEditFormatter.test.js.snap +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/cellFormatter.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/collapseableAndSelectionCellFormatter.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/ellipsisCellFormatter.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/headerFormatter.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/index.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/selectionCellFormatter.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/selectionHeaderCellFormatter.js +0 -0
- data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/index.js +0 -0
- data/webpack/{move_to_pf → components}/react-bootstrap-select/index.js +0 -0
- data/webpack/containers/Application/config.js +5 -0
- data/webpack/containers/Application/overrides.scss +5 -0
- data/webpack/global_test_setup.js +3 -1
- data/webpack/redux/OrganizationProducts/OrganizationProductsActions.js +1 -1
- data/webpack/redux/OrganizationProducts/__tests__/OrganizationProductsActions.test.js +2 -2
- data/webpack/redux/actions/RedHatRepositories/enabled.js +1 -1
- data/webpack/redux/actions/RedHatRepositories/helpers.js +1 -1
- data/webpack/redux/actions/RedHatRepositories/repositorySetRepositories.js +1 -1
- data/webpack/redux/reducers/index.js +2 -0
- data/webpack/scenes/AnsibleCollections/AnsibleCollectionsActions.js +1 -1
- data/webpack/scenes/AnsibleCollections/AnsibleCollectionsTableSchema.js +1 -1
- data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetailsActions.js +1 -1
- data/webpack/scenes/AnsibleCollections/Details/__tests__/AnsibleCollectionDetailsActions.test.js +2 -2
- data/webpack/scenes/AnsibleCollections/__tests__/AnsibleCollectionsTable.test.js +1 -1
- data/webpack/scenes/ContentViews/ContentViewSelectors.js +1 -2
- data/webpack/scenes/ContentViews/ContentViewsActions.js +4 -4
- data/webpack/scenes/ContentViews/ContentViewsConstants.js +4 -1
- data/webpack/scenes/ContentViews/ContentViewsPage.js +12 -6
- data/webpack/scenes/ContentViews/Details/ContentViewDetailActions.js +44 -0
- data/webpack/scenes/ContentViews/Details/ContentViewDetailReducer.js +23 -0
- data/webpack/scenes/ContentViews/{details → Details}/ContentViewDetailSelectors.js +3 -0
- data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +70 -0
- data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +116 -0
- data/webpack/scenes/ContentViews/{details → Details}/DetailsContainer.js +8 -4
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetail.test.js +101 -0
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetails.fixtures.json +106 -0
- data/webpack/scenes/ContentViews/Details/contentViewInfo.scss +8 -0
- data/webpack/scenes/ContentViews/Details/index.js +7 -0
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +51 -36
- data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +47 -44
- data/webpack/scenes/ContentViews/__tests__/basicContentViews.fixtures.js +31 -0
- data/webpack/scenes/ContentViews/__tests__/contentViewList.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +173 -23
- data/webpack/scenes/ContentViews/components/ContentViewIcon.js +26 -0
- data/webpack/scenes/ContentViews/components/{contentViewName.scss → contentViewIcon.scss} +0 -0
- data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailsActions.js +1 -1
- data/webpack/scenes/ModuleStreams/Details/Profiles/TableSchema.js +1 -1
- data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetailsActions.test.js +2 -2
- data/webpack/scenes/ModuleStreams/ModuleStreamsActions.js +1 -1
- data/webpack/scenes/ModuleStreams/ModuleStreamsTableSchema.js +1 -1
- data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamsTable.test.js +1 -1
- data/webpack/scenes/Organizations/OrganizationSelectors.js +14 -0
- data/webpack/scenes/Products/ProductActions.js +1 -1
- data/webpack/scenes/RedHatRepositories/RedHatRepositoriesPage.js +1 -1
- data/webpack/scenes/Settings/SettingsConstants.js +3 -0
- data/webpack/scenes/Settings/SettingsReducer.js +33 -0
- data/webpack/scenes/Settings/SettingsSelectors.js +4 -0
- data/webpack/scenes/Settings/index.js +2 -1
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailActions.js +1 -1
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetails.js +1 -1
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +59 -73
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.scss +15 -0
- data/webpack/scenes/Subscriptions/Manifest/ManifestActions.js +43 -1
- data/webpack/scenes/Subscriptions/Manifest/ManifestConstants.js +8 -0
- data/webpack/scenes/Subscriptions/Manifest/ManifestHistoryTableSchema.js +1 -1
- data/webpack/scenes/Subscriptions/Manifest/SimpleContentAccess.js +78 -0
- data/webpack/scenes/Subscriptions/Manifest/__tests__/ManageManifestModal.test.js +2 -0
- data/webpack/scenes/Subscriptions/Manifest/__tests__/ManifestActions.test.js +56 -1
- data/webpack/scenes/Subscriptions/Manifest/__tests__/SimpleContentAccess.test.js +114 -0
- data/webpack/scenes/Subscriptions/Manifest/__tests__/__snapshots__/ManageManifestModal.test.js.snap +6 -6
- data/webpack/scenes/Subscriptions/Manifest/__tests__/manifest.fixtures.js +36 -0
- data/webpack/scenes/Subscriptions/Manifest/index.js +3 -1
- data/webpack/scenes/Subscriptions/SubscriptionActions.js +1 -1
- data/webpack/scenes/Subscriptions/SubscriptionConstants.js +4 -0
- data/webpack/scenes/Subscriptions/SubscriptionHelpers.js +0 -3
- data/webpack/scenes/Subscriptions/SubscriptionReducer.js +38 -11
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +30 -18
- data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +0 -3
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsActions.js +1 -1
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +2 -2
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsTableSchema.js +1 -1
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionHelpers.test.js +0 -11
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsActions.test.js.snap +2 -2
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +4 -4
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsReducer.test.js.snap +26 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionTypeFormatter.js +2 -2
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +27 -21
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableHelpers.js +6 -2
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableSchema.js +2 -2
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/SubscriptionTypeFormatter.test.js.snap +3 -3
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Table.js +1 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.js +28 -3
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/__snapshots__/SubscriptionsToolbar.test.js.snap +5 -10
- data/webpack/scenes/Subscriptions/index.js +6 -2
- data/webpack/test-utils/nockWrapper.js +39 -5
- data/webpack/test-utils/react-testing-lib-wrapper.js +35 -9
- data/webpack/{move_to_foreman/common → utils}/helpers.js +12 -8
- data/webpack/utils/useEventListener.js +37 -0
- metadata +143 -83
- data/app/lib/actions/katello/repository/verify_checksum.rb +0 -28
- data/app/lib/actions/pulp3/orchestration/repository/trigger_update_repo_cert_guard.rb +0 -22
- data/app/lib/actions/pulp3/repository/presenters/repair_presenter.rb +0 -85
- data/app/lib/actions/pulp3/repository/repair.rb +0 -29
- data/app/services/katello/host_trace_manager.rb +0 -38
- data/vendor/assets/stylesheets/katello/jquery.loadmask.css.scss +0 -40
- data/vendor/assets/stylesheets/katello/ui.spinner.css.scss +0 -3
- data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalActions.js +0 -2
- data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalSelectors.js +0 -2
- data/webpack/__mocks__/foremanReact/components/ForemanModal/index.js +0 -4
- data/webpack/__mocks__/foremanReact/components/Settings/SettingsActions.js +0 -4
- data/webpack/__mocks__/foremanReact/components/Settings/SettingsConstants.js +0 -2
- data/webpack/move_to_pf/TypeAhead/TypeAhead.js +0 -138
- data/webpack/move_to_pf/TypeAhead/helpers.js +0 -5
- data/webpack/scenes/ContentViews/components/ContentViewName.js +0 -33
- data/webpack/scenes/ContentViews/components/EmptyStateMessage.js +0 -43
- data/webpack/scenes/ContentViews/details/ContentViewDetailActions.js +0 -12
- data/webpack/scenes/ContentViews/expansions/RepositoriesExpansion.js +0 -12
@@ -1,85 +0,0 @@
|
|
1
|
-
module Actions
|
2
|
-
module Pulp3
|
3
|
-
module Repository
|
4
|
-
module Presenters
|
5
|
-
class RepairPresenter < Helpers::Presenter::Base
|
6
|
-
def humanized_output
|
7
|
-
if action.external_task
|
8
|
-
humanized_details
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
def progress
|
13
|
-
total_units == 0 ? 0.1 : finished_units.to_f / total_units
|
14
|
-
end
|
15
|
-
|
16
|
-
private
|
17
|
-
|
18
|
-
def repair_task
|
19
|
-
tasks = action.external_task.select do |task|
|
20
|
-
if task.key? 'name'
|
21
|
-
task['name'].include?("repair_version")
|
22
|
-
end
|
23
|
-
end
|
24
|
-
tasks.first
|
25
|
-
end
|
26
|
-
|
27
|
-
def cancelled?
|
28
|
-
repair_task && repair_task['state'] == 'cancelled'
|
29
|
-
end
|
30
|
-
|
31
|
-
def task_result
|
32
|
-
repair_task['result']
|
33
|
-
end
|
34
|
-
|
35
|
-
def task_result_details
|
36
|
-
task_result && task_result['details']
|
37
|
-
end
|
38
|
-
|
39
|
-
def humanized_details
|
40
|
-
ret = []
|
41
|
-
ret << _("Cancelled.") if cancelled?
|
42
|
-
ret << _("Total steps: ") + "#{finished_units}/#{total_units}"
|
43
|
-
ret << "--------------------------------"
|
44
|
-
progress_reports = repair_task.try(:[], 'progress_reports') || []
|
45
|
-
progress_reports = progress_reports.sort_by { |pr| pr.try(:[], 'message') }
|
46
|
-
progress_reports.each do |pr|
|
47
|
-
done = pr.try(:[], 'done')
|
48
|
-
total = pr.try(:[], 'total') || pr.try(:[], 'done')
|
49
|
-
unless done.nil? || total.nil?
|
50
|
-
ret << _(pr.try(:[], 'message') + ": #{done}/#{total}")
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
ret.join("\n")
|
55
|
-
end
|
56
|
-
|
57
|
-
def total_units
|
58
|
-
total_unit = 0
|
59
|
-
progress_reports = repair_task.try(:[], 'progress_reports') || []
|
60
|
-
progress_reports.each do |pr|
|
61
|
-
total = pr.try(:[], 'total')
|
62
|
-
total = pr.try(:[], 'done') if total.nil?
|
63
|
-
unless total.nil?
|
64
|
-
total_unit += total.to_i
|
65
|
-
end
|
66
|
-
end
|
67
|
-
total_unit
|
68
|
-
end
|
69
|
-
|
70
|
-
def finished_units
|
71
|
-
finished_unit = 0
|
72
|
-
progress_reports = repair_task.try(:[], 'progress_reports') || []
|
73
|
-
progress_reports.each do |pr|
|
74
|
-
done = pr.try(:[], 'done')
|
75
|
-
unless done.nil?
|
76
|
-
finished_unit += done.to_i
|
77
|
-
end
|
78
|
-
end
|
79
|
-
finished_unit
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module Actions
|
2
|
-
module Pulp3
|
3
|
-
module Repository
|
4
|
-
class Repair < Pulp3::AbstractAsyncTask
|
5
|
-
include Helpers::Presenter
|
6
|
-
def plan(repository_id, smart_proxy)
|
7
|
-
plan_self(:repository_id => repository_id, :smart_proxy_id => smart_proxy.id)
|
8
|
-
end
|
9
|
-
|
10
|
-
def invoke_external_task
|
11
|
-
repo = ::Katello::Repository.find(input[:repository_id])
|
12
|
-
output[:response] = repo.backend_service(smart_proxy).repair(repo.version_href)
|
13
|
-
end
|
14
|
-
|
15
|
-
def run_progress
|
16
|
-
presenter.progress
|
17
|
-
end
|
18
|
-
|
19
|
-
def run_progress_weight
|
20
|
-
10
|
21
|
-
end
|
22
|
-
|
23
|
-
def presenter
|
24
|
-
Presenters::RepairPresenter.new(self)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
module Katello
|
2
|
-
class HostTraceManager
|
3
|
-
def self.resolve_traces(traces)
|
4
|
-
traces.each do |trace|
|
5
|
-
if trace.reboot_required?
|
6
|
-
trace.helper = 'reboot'
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
traces_by_host_id = traces.group_by(&:host_id)
|
11
|
-
traces_by_helper = traces.group_by(&:helper)
|
12
|
-
|
13
|
-
composers = []
|
14
|
-
|
15
|
-
if traces_by_host_id.size < traces_by_helper.size
|
16
|
-
traces_by_host_id.each do |host_id, trace|
|
17
|
-
needed_traces = trace.map(&:helper).join(',')
|
18
|
-
joined_helpers = { :helper => needed_traces }
|
19
|
-
composers << ::JobInvocationComposer.for_feature(:katello_service_restart, [host_id], joined_helpers)
|
20
|
-
end
|
21
|
-
else
|
22
|
-
traces_by_helper.each do |helper, trace|
|
23
|
-
helpers = { :helper => helper }
|
24
|
-
composers << ::JobInvocationComposer.for_feature(:katello_service_restart, trace.map(&:host_id), helpers)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
job_invocations = []
|
29
|
-
|
30
|
-
composers.each do |composer|
|
31
|
-
composer.trigger
|
32
|
-
job_invocations << composer.job_invocation
|
33
|
-
end
|
34
|
-
|
35
|
-
job_invocations
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
.loadmask {
|
2
|
-
z-index: 100;
|
3
|
-
position: absolute;
|
4
|
-
top:0;
|
5
|
-
left:0;
|
6
|
-
-moz-opacity: 0.5;
|
7
|
-
opacity: .50;
|
8
|
-
filter: alpha(opacity=50);
|
9
|
-
background-color: #CCC;
|
10
|
-
width: 100%;
|
11
|
-
height: 100%;
|
12
|
-
zoom: 1;
|
13
|
-
}
|
14
|
-
.loadmask-msg {
|
15
|
-
z-index: 20001;
|
16
|
-
position: absolute;
|
17
|
-
top: 0;
|
18
|
-
left: 0;
|
19
|
-
border:1px solid #6593cf;
|
20
|
-
background: #c3daf9;
|
21
|
-
padding:2px;
|
22
|
-
}
|
23
|
-
.loadmask-msg div {
|
24
|
-
padding:5px 10px 5px 25px;
|
25
|
-
background: #fbfbfb url('../images/loading.gif') no-repeat 5px 5px;
|
26
|
-
line-height: 16px;
|
27
|
-
border:1px solid #a3bad9;
|
28
|
-
color:#222;
|
29
|
-
font:normal 11px tahoma, arial, helvetica, sans-serif;
|
30
|
-
cursor:wait;
|
31
|
-
}
|
32
|
-
.masked {
|
33
|
-
overflow: hidden !important;
|
34
|
-
}
|
35
|
-
.masked-relative {
|
36
|
-
position: relative !important;
|
37
|
-
}
|
38
|
-
.masked-hidden {
|
39
|
-
visibility: hidden !important;
|
40
|
-
}
|
@@ -1,138 +0,0 @@
|
|
1
|
-
import React, { Component } from 'react';
|
2
|
-
import Downshift from 'downshift';
|
3
|
-
import PropTypes from 'prop-types';
|
4
|
-
|
5
|
-
import { KEYCODES } from 'foremanReact/common/keyCodes';
|
6
|
-
import { InputGroup, Button, Icon } from 'patternfly-react';
|
7
|
-
import TypeAheadInput from './TypeAheadInput';
|
8
|
-
import TypeAheadItems from './TypeAheadItems';
|
9
|
-
import { getActiveItems } from './helpers';
|
10
|
-
|
11
|
-
import './TypeAhead.scss';
|
12
|
-
|
13
|
-
class TypeAhead extends Component {
|
14
|
-
constructor(props) {
|
15
|
-
super(props);
|
16
|
-
|
17
|
-
this.state = {
|
18
|
-
inputValue: this.props.initialInputValue,
|
19
|
-
};
|
20
|
-
|
21
|
-
this.handleStateChange = this.handleStateChange.bind(this);
|
22
|
-
}
|
23
|
-
|
24
|
-
handleStateChange({ inputValue }) {
|
25
|
-
if (typeof inputValue === 'string') {
|
26
|
-
this.props.onInputUpdate(inputValue);
|
27
|
-
this.setState({ inputValue });
|
28
|
-
}
|
29
|
-
}
|
30
|
-
|
31
|
-
clearSearch = () => {
|
32
|
-
this.setState({ inputValue: '' }, () => this.props.onSearch(this.state.inputValue));
|
33
|
-
};
|
34
|
-
|
35
|
-
render() {
|
36
|
-
const {
|
37
|
-
onSearch, onInputUpdate, items, actionText, ...rest
|
38
|
-
} = this.props;
|
39
|
-
|
40
|
-
const activeItems = getActiveItems(items);
|
41
|
-
|
42
|
-
return (
|
43
|
-
<Downshift
|
44
|
-
onStateChange={this.handleStateChange}
|
45
|
-
defaultHighlightedIndex={0}
|
46
|
-
selectedItem={this.state.inputValue}
|
47
|
-
{...rest}
|
48
|
-
render={({
|
49
|
-
getInputProps,
|
50
|
-
getItemProps,
|
51
|
-
isOpen,
|
52
|
-
inputValue,
|
53
|
-
highlightedIndex,
|
54
|
-
selectedItem,
|
55
|
-
selectItem,
|
56
|
-
openMenu,
|
57
|
-
}) => {
|
58
|
-
const shouldShowItems = isOpen && items.length > 0;
|
59
|
-
const autoCompleteItemsProps = {
|
60
|
-
items,
|
61
|
-
highlightedIndex,
|
62
|
-
selectedItem,
|
63
|
-
getItemProps,
|
64
|
-
activeItems,
|
65
|
-
};
|
66
|
-
|
67
|
-
return (
|
68
|
-
<div>
|
69
|
-
<InputGroup>
|
70
|
-
<TypeAheadInput
|
71
|
-
onKeyPress={(e) => {
|
72
|
-
switch (e.keyCode) {
|
73
|
-
case KEYCODES.TAB_KEY:
|
74
|
-
if (isOpen && activeItems[highlightedIndex]) {
|
75
|
-
selectItem(activeItems[highlightedIndex]);
|
76
|
-
e.preventDefault();
|
77
|
-
}
|
78
|
-
|
79
|
-
break;
|
80
|
-
|
81
|
-
case KEYCODES.ENTER:
|
82
|
-
if (!isOpen || !activeItems[highlightedIndex]) {
|
83
|
-
onSearch(this.state.inputValue);
|
84
|
-
e.nativeEvent.preventDownshiftDefault = true;
|
85
|
-
e.preventDefault();
|
86
|
-
}
|
87
|
-
|
88
|
-
break;
|
89
|
-
|
90
|
-
default:
|
91
|
-
break;
|
92
|
-
}
|
93
|
-
}}
|
94
|
-
onInputFocus={openMenu}
|
95
|
-
passedProps={getInputProps()}
|
96
|
-
/>
|
97
|
-
{this.state.inputValue &&
|
98
|
-
<InputGroup.Button>
|
99
|
-
<Button onClick={this.clearSearch}>
|
100
|
-
<Icon name="times" />
|
101
|
-
</Button>
|
102
|
-
</InputGroup.Button>
|
103
|
-
}
|
104
|
-
<InputGroup.Button>
|
105
|
-
<Button onClick={() => onSearch(inputValue)}>{actionText}</Button>
|
106
|
-
</InputGroup.Button>
|
107
|
-
</InputGroup>
|
108
|
-
|
109
|
-
{shouldShowItems && <TypeAheadItems {...autoCompleteItemsProps} />}
|
110
|
-
</div>
|
111
|
-
);
|
112
|
-
}}
|
113
|
-
/>
|
114
|
-
);
|
115
|
-
}
|
116
|
-
}
|
117
|
-
|
118
|
-
TypeAhead.propTypes = {
|
119
|
-
items: PropTypes.arrayOf(PropTypes.shape({
|
120
|
-
/* text to display in MenuItem */
|
121
|
-
text: PropTypes.string,
|
122
|
-
/* item can be a header or divider or undefined for regular item */
|
123
|
-
type: PropTypes.oneOf(['header', 'divider']),
|
124
|
-
/* optionally disable a regular item */
|
125
|
-
disabled: PropTypes.bool,
|
126
|
-
})).isRequired,
|
127
|
-
onInputUpdate: PropTypes.func.isRequired,
|
128
|
-
onSearch: PropTypes.func.isRequired,
|
129
|
-
actionText: PropTypes.string,
|
130
|
-
initialInputValue: PropTypes.string,
|
131
|
-
};
|
132
|
-
|
133
|
-
TypeAhead.defaultProps = {
|
134
|
-
actionText: 'Search',
|
135
|
-
initialInputValue: '',
|
136
|
-
};
|
137
|
-
|
138
|
-
export default TypeAhead;
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import PropTypes from 'prop-types';
|
3
|
-
import { CubeIcon, CubesIcon } from '@patternfly/react-icons';
|
4
|
-
import './contentViewName.scss';
|
5
|
-
|
6
|
-
const ContentViewName = ({ composite, name, cvId }) => {
|
7
|
-
const props = {
|
8
|
-
key: cvId,
|
9
|
-
title: composite ? 'composite' : 'single',
|
10
|
-
style: { margin: '1px 5px' },
|
11
|
-
className: 'svg-icon-centered',
|
12
|
-
};
|
13
|
-
return (
|
14
|
-
<React.Fragment>
|
15
|
-
<div className="svg-centered-container">
|
16
|
-
{composite ? <CubesIcon {...props} /> : <CubeIcon {...props} />}
|
17
|
-
{name}
|
18
|
-
</div>
|
19
|
-
</React.Fragment>
|
20
|
-
);
|
21
|
-
};
|
22
|
-
|
23
|
-
ContentViewName.propTypes = {
|
24
|
-
cvId: PropTypes.number.isRequired,
|
25
|
-
name: PropTypes.string.isRequired,
|
26
|
-
composite: PropTypes.bool,
|
27
|
-
};
|
28
|
-
|
29
|
-
ContentViewName.defaultProps = {
|
30
|
-
composite: false,
|
31
|
-
};
|
32
|
-
|
33
|
-
export default ContentViewName;
|
@@ -1,43 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { EmptyState,
|
3
|
-
EmptyStateBody,
|
4
|
-
EmptyStateIcon,
|
5
|
-
EmptyStateVariant,
|
6
|
-
Bullseye,
|
7
|
-
Title } from '@patternfly/react-core';
|
8
|
-
import PropTypes from 'prop-types';
|
9
|
-
import { CubeIcon, ExclamationCircleIcon } from '@patternfly/react-icons';
|
10
|
-
import { global_danger_color_200 as dangerColor } from '@patternfly/react-tokens';
|
11
|
-
|
12
|
-
const EmptyStateMessage = ({ title, body, error }) => (
|
13
|
-
<Bullseye>
|
14
|
-
<EmptyState variant={EmptyStateVariant.small}>
|
15
|
-
{error ?
|
16
|
-
<EmptyStateIcon icon={ExclamationCircleIcon} color={dangerColor.value} /> :
|
17
|
-
<EmptyStateIcon icon={CubeIcon} />}
|
18
|
-
<Title headingLevel="h2" size="lg">
|
19
|
-
{title}
|
20
|
-
</Title>
|
21
|
-
<EmptyStateBody>
|
22
|
-
{body}
|
23
|
-
</EmptyStateBody>
|
24
|
-
</EmptyState>
|
25
|
-
</Bullseye>
|
26
|
-
);
|
27
|
-
|
28
|
-
EmptyStateMessage.propTypes = {
|
29
|
-
title: PropTypes.string,
|
30
|
-
body: PropTypes.string,
|
31
|
-
error: PropTypes.oneOfType([
|
32
|
-
PropTypes.shape({}),
|
33
|
-
PropTypes.string,
|
34
|
-
]),
|
35
|
-
};
|
36
|
-
|
37
|
-
EmptyStateMessage.defaultProps = {
|
38
|
-
title: 'Unable to retrieve information from the server.',
|
39
|
-
body: 'Please check the server logs for more information',
|
40
|
-
error: undefined,
|
41
|
-
};
|
42
|
-
|
43
|
-
export default EmptyStateMessage;
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import { API_OPERATIONS, get } from 'foremanReact/redux/API';
|
2
|
-
|
3
|
-
import CONTENT_VIEWS_KEY from '../ContentViewsConstants';
|
4
|
-
|
5
|
-
const getContentViewDetails = cvId => get({
|
6
|
-
type: API_OPERATIONS.GET,
|
7
|
-
key: `${CONTENT_VIEWS_KEY}_${cvId}`,
|
8
|
-
url: `/katello/api/content_views/${cvId}`,
|
9
|
-
params: {},
|
10
|
-
});
|
11
|
-
|
12
|
-
export default getContentViewDetails;
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import PropTypes from 'prop-types';
|
3
|
-
import { translate as __ } from 'foremanReact/common/I18n';
|
4
|
-
|
5
|
-
const RepositoriesExpansion = ({ cvId }) =>
|
6
|
-
<div id={`cv-repositories-expansion-${cvId}`}>{__('Repositories')}</div>;
|
7
|
-
|
8
|
-
RepositoriesExpansion.propTypes = {
|
9
|
-
cvId: PropTypes.number.isRequired,
|
10
|
-
};
|
11
|
-
|
12
|
-
export default RepositoriesExpansion;
|